Come si dice ai motori di ricerca di non indicizzare questa pagina ancora, ma forse in futuro?


8

La società per cui lavoro ha un sistema di gestione dei contenuti che crea automaticamente pagine per determinati contenuti.

Ad esempio, c'è una pagina nel nostro sistema che ha la capacità di mostrarti informazioni su qualsiasi compositore nel nostro database, a seconda dei parametri di input e delle informazioni che abbiamo su di essi. Tuttavia, ogni tanto, c'è un compositore che non ha alcuna informazione, quindi la pagina viene visualizzata in bianco. Come possiamo dire a Google di non indicizzare la pagina in quel momento, ma forse in futuro?

Poiché il contenuto è generato automaticamente, non possiamo semplicemente bloccare la visibilità delle pagine, in quanto le informazioni su quel compositore possono apparire in qualsiasi momento.

modificare

Si prega di notare che il nostro sistema CMS che esegue il recupero è seriamente complicato e profondo. La parte di contenuto della pagina restituirà una sorta di dati, quindi eseguire un empty($content) ? xx : yyas è stato suggerito non è una soluzione rapida. Se un compositore non esiste, il sistema non avrà una pagina per quel compositore, se il compositore esiste, il sistema lo farà. Quando viene visualizzata la pagina di quel compositore, il sistema cerca tutti i tipi che fanno riferimento ai compositori, come le opere, per creare una pagina dinamica.


2
Cosa intendi esattamente per "pagina vuota"? Intendi letteralmente nessun HTML inviato? Oppure hai il design di base 'shell' ma senza contenuto?
DisgruntedGoat

Risposte:


13

Se non è presente alcun contenuto per un particolare compositore, utilizzare il meta tag:

<meta name="robots" content="noindex, follow">

Non appena il contenuto viene aggiunto e il meta tag viene rimosso, Google lo indicizzerà.

Esempio:

<?php if(empty($composerInfoArray)): ?>
    <meta name="robots" content="noindex, follow">
<?php endif; ?>

1
FWIW "follow" è il comportamento predefinito, è possibile rilasciarlo se lo si desidera (non causa alcun problema e forse è pensato più per gli umani che lo leggono, quindi è possibile lasciarlo anche).
John Mueller,

4

Se le pagine "mancanti" in realtà non contengono informazioni effettive, ma sono semplicemente segnaposto per "potrebbe esserci una pagina qui in futuro", allora consiglierei di configurare il tuo server web per restituire il codice di stato 404 non trovato .

I browser mostreranno comunque tali pagine all'utente, così come mostrano le normali 404 pagine di errore (almeno finché sono abbastanza lunghe ), ma i motori di ricerca tratteranno semplicemente la pagina come se non esistesse affatto.

Questo è il metodo utilizzato ad esempio da Wikipedia per pagine inesistenti come questa . Uno dei suoi vantaggi (oltre ad essere, probabilmente, semanticamente corretto) è che garantisce che i motori di ricerca tratteranno tali pagine esattamente allo stesso modo in cui trattano normalmente le pagine mancanti che restituiscono un codice di stato 404.

Un potenziale svantaggio è che, se hai collegamenti a pagine che restituiscono un codice di stato 404, verranno visualizzati come "errori 404", ad esempio negli Strumenti per i Webmaster di Google. Tuttavia, questo è perfettamente normale e non è qualcosa di cui preoccuparsi .


Per aiutare ulteriormente i motori di ricerca a scoprire le tue nuove pagine, quando ottengono del contenuto effettivo e smettono di restituire 404s, dovresti anche mantenere una sitemap XML regolarmente aggiornata che elenca tutte le pagine del tuo sito che hanno contenuto. Ciò consente a Google e ad altri motori di ricerca di scoprire nuove pagine direttamente tramite la mappa del sito, invece di doverle imbattersi in modo casuale durante la ricostruzione del tuo sito.

Ps. Vedi anche: Non indicizzare la pagina che non ha contenuti pertinenti?


Karenon, restituire un 404 equivale a non fare nulla, questo è il comportamento regolare del web server; L'esempio di Wikipedia è solo una pagina 404 personalizzata.
Binarysurf,

1
@Binarysurf: Secondo l'OP, stanno usando uno script personalizzato per servire contenuti dinamici per "pagine virtuali" costruite con informazioni archiviate in un database (proprio come fanno oggi Wikipedia, SE e la maggior parte dei siti Web principali). Ciò significa che non si applica il "comportamento regolare del server Web". Per quanto riguarda il server Web (Apache, IIS, nginx, ecc.), Lo script di generazione del contenuto esiste ed è in esecuzione, quindi il valore predefinito è un " 200 OK ", a meno che lo script non dica diversamente. Sto solo suggerendo che l'OP dovrebbe fare in modo che il loro script invii una risposta 404, se non ci sono contenuti reali da mostrare.
Ilmari Karonen,

c'è uno script personalizzato che recupera i dati del compositore dal database, cosa succede se il nome di qualcuno non è presente? usando la logica, lo script non otterrà alcun record dal database, cosa dovrebbe fare? forse invierà quindi 404 non trovati. Se lo script ha trovato qualcosa, forse solo metadati (è il nome) e nessun altro dato, invierà 200 e una pagina con contenuto vuoto. Anche se ha uno script personalizzato seguirà il comportamento del server Web predefinito? O risponderà a 200 per ogni singola richiesta? Sembrerà spam con nessun focus specifico sul contenuto.
Binarysurf,

Una volta eseguito uno script, lo script è responsabile dell'invio del codice di stato e il codice corretto da inviare quando una query non ha alcun risultato è 404.
Wossname

1

Personalmente avrei creato un messaggio nel sistema che avrebbe fatto sapere all'utente che mentre la loro richiesta era stata completata, non c'erano trovati compositori per i parametri forniti. Ciò impedirà all'utente di pensare che la pagina / collegamento sia "interrotto".


1

Se la pagina non ha contenuti, il tuo sistema CMS non dovrebbe collegarsi ad esso. Il collegamento a pagine vuote è negativo sia per gli utenti che per i motori di ricerca.

Mi piace il suggerimento di Wayne Whitty su come mettere il meta tag sulla pagina stessa del compositore. Dovresti trovare un modo per fare qualcosa di simile nel luogo in cui elenchi tutti i compositori e li colleghi a loro:

<?php foreach ($composers as $composer) {
    if ($composer->countCount > 0)
         print "<li><a href=\"$composer->url\">$composer->name</a></li>";
    } 
} ?>

Se lo fai, i motori di ricerca non troveranno più le pagine vuote per cominciare.


1
... cioè, a meno che non ci sia qualcosa di significativo che gli utenti possano fare anche con una pagina "vuota", come fornire informazioni per essa. (Anche se, tuttavia, potrebbe essere meglio non collegarsi direttamente alla pagina vuota, ma a qualche URL diverso che indica la (possibile) assenza di dati. Nota che dovrai affrontare il caso limite in cui un utente segue tale collegamento dopo che la pagina è stata recentemente creata; vedi ad esempio come fa Wikipedia .)
Ilmari Karonen,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.