• User Newbie

    URL Rewrite e SEO

    Buongiorno,
    in questi giorni sto affrontando la costruzione di un programmino (simile ad un blog) in php + mysql (ambiente LAMP), scritto da me e senza l'utilizzo di framework. A regime dovrebbe generare un migliaio di post/pagine all'anno.
    Visto il numero di pagine/post è naturale che opti per registrare il contenuto dei post nel database, insieme ad altri dati (quali titolo, descrizione, keyword, ecc ad esempio) e poi vada a costruire la pagina in base alla richiesta dell'utente, generare delle pagine fisiche non mi sembra indicato. E qui sorgono dei dubbi dal punto di vista SEO.

    Non mi è chiaro come tutte queste pagine/post possano essere lette bene dai motori di ricerca e da google nello specifico (in fondo si tratta di informazioni che si trovano nel database e vengono visualizzate solo se richiamate dall'utente). Devo usare qualche accorgimento particolare? esiste qualche tecnica di scrittura doverosa in questi casi?

    Volevo chiedervi anche qualche informazione sul metodo di scrittura dell'url.

    Grazie mille

    Francesco


  • Moderatore

    ciao Francesco,
    cercherò di risponderti nel modo più preciso possibile. Perdonami se userò termini troppo tecnici, o se al contrario userò semplificazioni troppo banali. Non farti problemi a chiedere ulteriori chiarimenti.

    @slaogiweb said:

    Non mi è chiaro come tutte queste pagine/post possano essere lette bene dai motori di ricerca e da google nello specifico (in fondo si tratta di informazioni che si trovano nel database e vengono visualizzate solo se richiamate dall'utente). Devo usare qualche accorgimento particolare? esiste qualche tecnica di scrittura doverosa in questi casi?
    Il motore di ricerca nel visitare il tuo sito si comporta (quasi) del tutto come un visitatore bipede, riceve su uno stream HTTP dei contenuti HTML, né lui né il bipede sanno che originariamente il dato non era su un file fisico ma su DB e generato a run-time (e se così non fosse, se la tua applicazione web esponesse un dettaglio implementativo, avresti dei seri problemi di security).
    Da questo punto di visto non ti devi quindi preoccupare: genera un documento HTML corretto, e il motore di ricerca lo tratterà nel modo corretto.

    Il motore di ricerca in realtà qualche aiutino - sebbene non strettamente necessario - lo gradisce eccome:
    Oltre a html/title e meta-description "SEO-friendly", utili anche ai soliti bipedi che leggono la SERP, al fine di migliorare la "crawlabilità" e "indicizzabilità" del sito, e qui "canonical link" in primis, robots-meta-tag, robots.txt file, etc... permettono di specificare come il motore di ricerca debba navigare e interpretare i tuoi contenuti.
    Il sito giorgiotave.it è un'ottima risorsa per tuti questi aspetti.

    Nel prossimo punto aggiungerò un po' di dritte riguardo gli URL.

    Certo, ci sono anche differenze nel modo in cui gli spider dei motori di ricerca visitano il tuo sito, rispetto ai normali utenti: quasi tutti i bot

    • non utilizzano cookie, quindi non fare affidamento a concetti di sessione server
    • googlebot in particolare non popola l'attributo HTTP accept-language, quindi non dare per scontato questo esista per fare eventuali redirect

    @slaogiweb said:

    Volevo chiedervi anche qualche informazione sul metodo di scrittura dell'url.
    Nella realizzazione di un motore CMS/Blog/wiki o similia, uno dei principali aspetti cui prestare attenzione è tenere una struttura di URL chiara, e evitare che lo spider veda contenuti identici con URL diversi, dove con "URL diversi" si intende anche la stessa pagina .php (nel tuo caso), con parametri querystring diversi. Quindi attento per esempio a commenti, versioni mobile, versioni stampabili, thread/sotto-thread/botta-risposta etc...

    La motivazione è che il motore di ricerca attribuirà meno valore ai contenuti del tuo sito se li ritrova duplicati in diversi URL. Qualora non riuscissi a evitarlo, dovrai perlomeno fare sì che solo una versione sia crawlabile e/o indicizzabile (tipicamente con robots-meta-tag, robots.txt, attributi nofollow su link interni, etc...)

    La struttura degli URL che deciderai dipenderà in parte dal framework che andrai a costruirti, per esempio se seguirai un approccio ispirato alla Rails, probabilmente avrai una struttura di un tipico sistema MVC, simile agli URL del protocollo REST; è un sistema che permette con poca attenzione di creare URL "SEO friendly", che non fa uso di parametri in querystring.

    Altra cosa cui devi prestare attenzione è l'uso dei separatori negli URL generati dinamicamente, per esempio se generi un URL "parlante" usando il titolo del post.
    Buona norma è sostituire gli spazi con dei "-" (carattere "meno"), e non degli "" (carattere "underscore"): sebbene motori di successo come quello alla base di Wikipedia usino gli underscore, e Big G non sembra penalizzare proprio Wikipedia, Google non considera lo "" un separatore e incoraggia l'uso del "-".

    Spero d'esserti stato utile.
    (se non fossi stato chiaro, dimmelo!)