SEO: ma è vero o non è vero che?!

web developer umbriaAlla redazione di web design Umbria pervengono costantemente delucidazioni sulle problematiche seo legate al posizionamento. Ma è vero che un buon titolo non deve superare i dodici caratteri? Vero! Ma è vero che un buon titolo deve essere persistente, congruente, prominente? Vero! Ma è vero che un buon titolo deve contenere le keyword inserite poi anche nel testo del documento? Vero! Ma è vero che il titolo deve essere sempre diverso per tutte le pagine del proprio sito? Vero, risponde web developer Umbria, che si ferma un attimo per riprendere fiato. Con il titolo io comunico il tema della pagine ai miei potenziali clienti quindi è chiaro che il tema scotta e anche non poco! Ci sono strumenti in rete che possono aiutare in queste questioni, tra cui il famoso: https://search.google.com/ . Ma ora non distraete Digital Strategist Umbria dal continuare il suo gioco del true o false: ma è vero che se ho un sito web che intende vendere mobili e al posto di scrivere nella pagina web di un prodotto specifico qualcosa di congruente tipo “poltrona reclinabile rivestita” ma inserisco terremoto in Italia Centrale sto facendo una cazzata? Certamente! Ma è vero che se inserisco frasi di benvenuto come welcome al posto delle keyword calde faccio una cazzata? Aridaje, ma certamente, gli spider tendono a ignorare le stop word costituite da articoli, preposizioni, congiunzioni se non fanno parte di una chiave mirata. Attenzione allo spam però, perchè una ripetizione ossessiva rischierebbe di penalizzarci. Attenzione anche a lasciare vuoto il tag TITLE. Attenzioni anche a non entrare in conflitto con parole chiave abusate sul web, denominate “poison word”, evitare quindi l’uso nei titoli di parole come link, directory, forum etc. Quando Google estrapola i titoli, non sempre viene mostrato quello del tag corrispondente, ma la query di ricerca congiuntamente ai contenuti delle ancore, all’ analisi dei titoli del feed rss, ai contenuti delle directory come dmoz, all’ url della risorsa porta poi all’ elaborazione in uscita di un titolo ottimizzato. Non sorprendiamoci quindi se la nostra pagina web a volte ha un titolo che differisce da quello riportato da Google. E a questo punto con social media marketing Umbria torniamo a occuparci del vero o non è vero. Ma è vero che il tag description è importante perchè la sua definizione verrà estrapolata come sintesi per quel sito? Vero! Ma è vero che la description va curata ai minimi termini e resa essenziale in modo da circoscrivere e localizzare il fenomeno? Ma è vero che non deve superare le 12-15 parole ossia 140 e 160 caratteri?! Vero. Ma è vero che la description equivale a forgiare una sorta di claim per rendere attraente i contenuti della pagina e attirare il lead alla sua visita?! Vero! Ma è vero che le description influenzano gli snippet poi in uscita elaborati da Google per la presentazione del nostro prodotto/servizio nelle SERP? Vero! Ma è vero che l’unicità delle description va tutelata per ogni singola pagina? Vero. Ma è vero che il contenuto deve essere coerente con il tema del sito? Vero, sentenzia Faraoni Enrico, ceo di Umbriaway Consulting, che aggiunge, deve anche usare frasi articolate chiare e poco surreali e non deve essere volatile nel senso di generico, perchè la description convoglia l’utente verso qualcosa che sta cercando e quindi deve attirare con contenuti pertinenti il visitatore. Ma del meta tag keyword ne vogliamo parlare? Al contrario degli anni novanta oggi è irrilevante, tutto al più dobbiamo usarlo come un rafforzamento posizionale dell’ informazione o qualcosa che cattura una esigenza inespressa sui motori di ricerca non ancora frequente. Oggi quello che noi sappiamo sulla seo è che parliamo di una congruenza di molteplici fattori e non più di particelle isolate rilevanti, poi anche più di 40 keyword vengono considerate spam dai crawler (virgola spazio come criterio di separazione). Oggi il meta tag keywords è relegato al compito marginale di mafioso che suggerisce e rafforza a completamento di una comunicazione generale che va ben oltre il singolo tag. Ciò non toglie che una pertinenza e coerenza di contenuti va rispettata, perché se vogliamo disegnare un tondo non ci mettiamo a inserire nel nostro mosaico generali degli angoli. E sul meta tag language? Serve per sfruttare gli strumenti di traduzione automatica e nella proprietà content o nella class di un div posso scrivere “notraslate” per impedire la traduzione. E’ bene ricordare che i documenti vanno specificati a un server web, per questo un documento html ha la clausola iniziale doctype. Con il meta tag robots posso dire al crawler se indicizzare la pagina o meno e ci sono alcune proprietà come index, noindex, follow e nofollow che fanno al caso nostro per migliorare la qualità dei nostri contenuti. I follow e nofollow vengono usati sui link quando io voglio validare o meno l’autorevolezza di un link esterno che deve essere pertinente e di valore aggiunto ai nostri contenuti. Le modalità per impedire di visualizzare i contenuti sono molteplici, posso proteggere le password con le cartelle, usare il noindex al meta tag robots come detto o agire sul file htaccess nella root del sito. Se non inserisco nessun meta tag robots gli spider partiranno in quarta a indicizzare tutti i contenuti. All’ interno dei meta tag posso anche personalizzare quello che uno spider deve fare o non deve fare con una sintassi del tipo “nome dello spider” legata a “una azione da compiere”. E sul file robots.txt quali istruzioni posso impartire? Vitali sono le proprietà User Agent che fa riferimento a quale robot il comando si applica e Disallow che serve a indicare quale è il contenuto da bloccare. Ad esempio per bloccare l’accesso a tutti gli spider al file dio.html scriverò Disallow: /mio.html, per non leggere i pdf: Disallow: /*.pdf$ etc. In rete si possono trovare numerose informazioni correlate a come impostare il file robots.txt in base alle proprie esigenze. I meta tag sono anche utili per settare i contenuti dell’ autore che acquisteranno sempre più importanza e il set di caratteri unicode, il più performante per visualizzare lingue straniere come l’arabo per esempio risulta essere utf-8. I contenuti di una pagina vanno organizzati con delle intestazioni che risultano essere molto importanti in ottica seo. Un tah h1 seguito da un sottotitolo h2 rende performante le nostre keywords. L’uso di questi tag deve essere decrescente per indicare agli spider una progressione di rilevanza. I ragni del web scansionano dall’ alto in basso e da sinistra verso destra quindi macinano subito quello che trovano in cima nella pagina. Posso anche stilizzare i tag di intestazione con regole css dove stabilisco font e size. Parlando invece dei link ricordiamoci anche di ottimizzare l’attributo TITLE all’interno delle ancore, sappiamo che una performances seo si ottiene curando i dettagli rispetto ai competitors quindi se parlando di vendita di autoveicoli nel title che tutti omettono scrivo = vendita autoveicoli Terni avrò senza dubbio dei vantaggi rispetto a chi non lo fa. In questo caso aiuta i nostri utenti, dando una caratterizzazione definita, gli utenti ritornano da noi se sono soddisfatti del servizio offerto, è una semplice questione di accessibilità. Poi i link vanno curati con l’attributo nofollow nel caso in cui ad esempio alcuni commentando i nostri post inseriscono anche eventuali url pubblicitarie. Inserendo nofollow diciamo agli spider di non prendere in considerazione tali contenuti proposti. Nofollow significa che non vogliamo passare la nostra reputazione ai link target. Un altro attributo importante oltre al Rel=”nofollow” e il Rel = “canonical” , che specifica delle regole relativamente ai contenuti duplicati tipo ecommerce con prodotti quasi uguali che differiscono ad esempio per colore ma che hanno pagine uguali. Con questo attributo posso specificare delle regole di visibilità. Si parla di canonizzazione degli URL che è un fattore correlato ai fattori di successo del page rank. E’ stata introdotta anche la proprietà “alternate” all’ interno dei link per risolvere i problemi di duplicazione sulle lingue e per differenziare i template di riferimento. Inoltre la rilevanza portata dai tag come strong, corsivo e sottolineato va rispettata perché gli spider macinano contenuti che vengono messi in evidenza ad esempio dal grassetto e il nuovo tag <strong> che sostituisce il deprecato <b>. Secondo alcuni esperti di posizionamento l’influenza nell’ uso di questi tag sarebbe molto bassa, ciò non toglie che noi come seo specialist umbria dobbiamo applicare le tecniche migliori per cercare dei vantaggi competitivi rispetto ai concorrenti. Su SEOmoz l’incidenza sulla seo di questi tag è pari alla sedicesima posizione e tyra strong, italic e underline non vi sarebbe nessuna priorità. Tuttavia esistono anche semplici regole non scritte di accessibilità, più un testo è digeribile e gradevole per l’utente, maggiore è la possibilità che ritorni sulla nostra pagina. Poi ogni motore ha le sue regole, ad esempio per BING sembra essere importante la keyword all’ interno del tag BOLD <b>. Sempre in ottica di accessibilità è bene ricordarsi che l’attributo ALT delle immagini, il famoso testo alternativo se l’utente per qualche motivo non vede l’immagine, va stilato correttamente, meglio ancora se inserisco una keyword. Anche i tooltip sono molto utili per guidare l’utente verso la migliore esperienza conoscitiva del nostro sito e dei nostri contenuti. In uno dei prossimi articoli con web design Umbria, parleremo del web semantico, approfondendo la questione delle nuove sezioni introdotte da HTML5.

Annunci

Primi passi con un progetto complesso mysql/php: un db relazionale é come una scacchiera, parola di web design Umbria!

web design umbriaLa maggior parte dei libri e manuali tecnici che parlano di php e mysql dedicano i primi capitoli almeno un paio a un overview generale e tutto un capitolo prolisso sull’ installazione di mysql e poi sull’ installazione di php e poi sull’ installazione del server apache, osservazione critica di web design Umbria. Installate in locale xampp https://www.apachefriends.org/it/index.html e risolvete un sacco di problemi dipodiché vi concentrate senza perdere troppo tempo alla sostanza dei contenuti e non a quelli della cornice dal momento che in rete se qualcuno desiderasse installare i pacchetti isolati trova una grande quantità di guide e informazioni su come districarsi per ottimizzare le varie configurazione ambiente. Sostanzialmente in una architettura client e server si instaura un rapporto perverso simile a due tenisti dove il client invia una riochiesta interrogazione per mano dell’ utente e dall’ altra parte una macchina infallibile se le istruzioni sono corrette risponde in maniera ottimizzata per dare delle risposte dal server che invia i dati elaborati al client. Volendo potremmo anche vedere un esempio tipo questo da inserire nel body: <p>Today’s Date (according to this Web server) is <?php echo date(‘l, F dS Y.’); ?> che genera nel browser questa risposta: Today’s Date (according to this Web server) is Sunday, October 08th 2017. Questo é la dimostrazione di quanto detto precedentemente anche se qui l’utente non fa nessuna richiesta diretta ma é la pagina che aggiorna sempre dinamicamente il contenuto. Vediamo i parametri usati da indirizzo http://php.net/manual/en/function.date.php dove scopriamo che la l sta per (lowercase ‘L’) A full textual representation of the day of the week; la F sta per A full textual representation of a month, such as January or March e naturalmente Y per l’anno in 4 cifre. Ora che le pagine siano dinamiche siamo contenti ma le cose diventano davvero ionteressanti quando di mezzo abbiamo un database mysql per interrogare i dati, pensiamo solo a un contenitore dove mettere tutte le nostre barzellette preferite per estrapolare poi davvero quello che é di ns interesse di volta in volta. Immaginiamo cento pagine con cento barzellette diverse, una per ogni singola pagina HTML all’ interno del DB posso posizionare tutte le mie barzellette in unica soluzione tabella all’ interno di campi testo univoci contrassegnati da un id di appartenenza che le identifica. web design umbriaLe barzellette verrebbero selezionate in automatico, le pagine dinamiche costruite in base alle interrogazioni e gli inserimenti andrebbero ad accrescre il nostro numero di record con una query di INSERT. Un database é composto da uno o più tabelle e poniamo il caso che lo chiamiamo in questo caso jokes al plurale. Poi creeremo una tabella che avrà tre colonne contrassegnate da id , joketext e jokedate e con varie righe , una per ogni barzelletta inserita. Per ragioni di buona progettazione ogni tabella di database dovrebbe sempre dare la possibilità di identificare ognuna delle sue righe in modo univoco. I criteri per la costruzione dei database relazionali vedono proprio nel concetto di ridondanza il loro punto di lavoro critico nel senso che i record non devono essere ripetuti all’ interno della tabella e anche dati che compaiono più volte occupano inutilmente spazio in memoria. La progettazione del DB é fase molto delicata e ricca di implicazioni. Se il server host non mette a disposizione una finestra di accesso é possibile anche da finestra di comando windows cmd collegarsi all’ indirizzo IP della macchina con la login tramite il comando da root mysql, quindi mysql -h hostname -u username -p, tutto questo per dire che imparare i comandi mysql da riga di comando é cosa molto importante e non solo armeggiare sulla parte grafica di phpadmin presente in localhost. ad esempio mysql>SHOW DATABASES; mostrerà una risposta tipo due row in set seguito dal tempo di esecuzione con la rappresentazione grafica elemntare dei database mysql e test che sono quelli di default messi a disposizione dal software. Se scrivessi mysql>DROP DATABASE test; cancellerei il database test questo per dire che bisogna fare molta attenzione a quello che viene digitato. Il punto e virgola é la fine del comando e quindi se si omette posso anche spezzare i comandi su più righe per una migliore lettura di quello che voglio ottenere. Per uscire dal software basta un mysql>QUIT e Bye di conseguenza. Il metodo di inserimento dei comandi che useremo per governare MySQL per tutto il resto della trattazione fa parte di uno standard generale detto Structured query language o SQL e possiamo riferirci a questo linguaggio anche dicendo semplicemente query visto che to query sta a significare interrogare, cercare. SQL é un linguaggio standard per interagire con i DB e non ci sono grandi differenze saltando altrove semmai cambiano solo i dialetti. Basta solo non fare condusione tra MySQL e SQL, il primo é il software che ci viene messo a disposizione per immagazzinare i dati mentre il secondo é il linguaggio di interrogazione per ottenere i risultati di manipolazione modellazione estrapolazione che ci interessano. web design umbriaPer creare un database da riga di comando mysql>CREATE DATABASE ijdb; Per iJdb (internet joke database) dopodiché per usarlo e selezionarlo scriverò mysql>USE iJdb; Un database é vuoto finché non vengono aggiunte delle tabelle, quindi dovremmo preoccuparci come prima cosa di costruire un contenitore adeguato per i nostri dati. Dal punto di vista didattico per inserire i dati in un DB possiamo usare un doppio metodo tipo mysql> INSERT INTO table_name SET colonna1=value1, colonna2=value2…; oppure mysql> INSERT INTO table_name (colonna1, colonna2) VALUES (value1, value2)..;nel secondo caso nella seconda forma del comando INSERT l’ordine con cui ordinate le colonne deve coincidere con l’ordine con cui ordinate i valori. Per visualizzare i dati, aggiunge web design Umbria, si usa il comando mysql>SELECT * FROM joke; che tradotto significa seleziona tutti gli oggetti dalla tabella joke. Se i risultati appaiono disorganizzati posso estrapolare solo quello che mi interessa con la formula mysql>SELECT id, jokedate FROM joke; potrei anche desiderare di vedere almeno una parte della barzelletta e lo posso fare con questo comando specificando i caratteri: mysql>SELECT ID, LEFT (joketext,20), jokedate FROM joke; con COUNT posso visualizzare il numero di risultati avuti come numero di righe mysql>SELECT COUNT(*) FROM joke; possiamo anche cercare determinati attributi tipo tirami fuori tutti i record che sono stati inseriti dopo una specifica data mysql>SELECT COUNT(*) FROM joke WHERE jokedate>= “2004-0101”; possiamo anche estrapolare quelle barzellette che al loro interno hanno una specifica porzione di testo con mysql>SELECT joketext FROM joke WHERE joketext LIKE “%chicken%”; con LIKE parola chiave dico a mysql che la colonna nominata deve soddisfare una specifica qualità. Il segno % indica che la parola cercata può essere preceduta e/o seguita da una qualsiasi stringa di testo.Posso combinare quanto visto precedentemente con l’operatore logico AND per cui posso combinare il where con e il like con l’uguale e maggiore come data appunto unendo le espressioni con AND. Per aggiornare i dati la nomenclatura é mysql>UPDATE table_name SET colonnaname = new value, …WHERE conditions ad esempio possiamo cambiare una specifica data con il comando mysql>UPDATE joke SET jokedate=”1994-03-01″ WHERE id=1; per cancellare mysql>DELETE FROM table_name WHERE conditions; Per cancellare tutte le barzellette con la parola chiave pollo: mysql> DELETE FROM joke WHERE joketext LIKE “%chicken%”; inutile ricordare che bisogna fare molta attenzione nell’ usare la parola chiave DELETE ad esempio un comando da riga come questo mysql>DELETE FROM joke; svuoterebbe la tabella in un battito di ciglia! Per capire la forza di un database relazionale dovremmeo lavorare sulla dipendenza e sui legami tra molte tabelle dove esistono complesse relazioni tra le entità coinvolte. In una delle prossime sessioni di allenamento con umbriaway consulting andremo a vedere l’interazione specifica con i file php per modellare questi dati segregati nel contenitore. In rete ci sono molte guidi di riferimento per avere una sintesi dei principali comandi mysql per esempio: https://mauriziosiagri.wordpress.com/it/mysql/mysql-comandi-utili

Blog su WordPress.com.

Su ↑