it-swarm.dev

robots.txt non in aggiornamento

Oggi ho ricevuto un'email da Strumenti per i Webmaster affermando che "Googlebot non può accedere ai file CSS e JS". Così ho deciso di aggiornare il mio file robots.txt che si trova nella root del mio server.

Contenuto originale:

User-agent: *
Disallow: /wp-admin/
Disallow: /wp-includes/
Disallow: /wp-content/plugins/
Disallow: /wp-content/themes/ #<--CAUSE OF THE PROBLEM

Sitemap: http://example.com/sitemapindex.xml

Ho rimosso la riga "Disallow:/wp-content/themes /" dal file e ho ricaricato il file, ma quando ho visto il nuovo file nel mio browser, non era cambiato nulla, quindi ho fatto quanto segue:

1) Eliminato il file .txt dalla radice

2) cache cancellata (W3 Total Cache)

Ma ancora robots.txt era visibile nel mio browser. Questo poteva significare solo una cosa, che il file veniva generato virtualmente giusto? Ho persino visualizzato un browser diverso per assicurarmi che non ci sia stato il caching.

Dopo molte ricerche non ho trovato alcuna risposta sul perché il mio file robots.txt non si aggiorni o da dove viene generato?

Qualcuno qui ha qualche idea su cosa sta succedendo?

Alcuni plugin che uso:

1) Better WordPress Google XML Sitemaps
2) W3 Total Cache
3) Yoast SEO

Qualsiasi aiuto sarebbe molto apprezzato, grazie.

1
user1356029

Normalmente, se c'è un file WordPress su disco, questo verrà servito prima direttamente da Apache o Nginx, prima che venga coinvolto WordPress.

Questo viene fatto nella configurazione di virtualhost, ad es. in Nginx troverai normalmente quanto segue, che dice di provare i file reali prima di lasciare index.php a gestire l'URL e generare una pagina su richiesta.

location / {
    index index.php index.html;
    try_files $uri $uri/ /index.php?$args;
}

Quindi se il tuo file robots.txt viene ignorato potresti avere qualcosa di sbagliato nella configurazione del tuo server web.

Ho appena provato quei tre plugin che hai menzionato con il tema dei venticinque e tutto funzionava bene. Yoast SEO ti consente di modificare robots.txt dalle pagine di amministrazione (consulta SEO> Strumenti> Editor di file).

Se non è stato trovato alcun file robots.txt o il controllo è stato passato a WordPress, l'output predefinito è:

User-agent: *
Disallow: /wp-admin/

Vedi wp-includes/functions.php per vedere come funziona, ma non modificare mai i file core.

Questo può essere personalizzato con azioni e filtri: ad esempio, il plug-in Sitemaps di BWP aggiunge una riga Sitemap:.

Se non riesci a trovare un plugin (o qualcosa nel tuo tema) che si agganci a do_robots o do_robotstxt, questo è un trucco per il file functions.php del tuo tema che probabilmente farà il lavoro:

/**
 * Remove unwanted 'themes' from robots.txt with find/replace
 * @param string $input original robots.txt content
 *
 * @return string mixed
 */
function patch_robots_file( $input ) {
    return str_replace( 'Disallow: /wp-content/themes/', '', $input );
}

add_filter( 'robots_txt', 'patch_robots_file' );
1
William Turrell