Door Iva Seleš

Liever niet zelf doen? Wij melden uw website aan bij Baidu voor een vaste prijs.Bekijk de Baidu-aanmeldingsdienst

Baidu-siteverificatie: het HTML-bestand, de metatag en wat er met CNAME is gebeurd

Beijing central business district skyline at dusk

Iemand heeft u een Baidu-klus gegeven, en het eerste obstakel is een verificatiescherm. Baidu accepteert geen sitemap, opent geen indexrapporten en laat u geen enkele URL indienen zolang niet vaststaat dat het domein van u is. Vandaag zijn er twee methoden om dat te bewijzen. Ze gedragen zich anders, en de dingen die misgaan zijn niet de dingen die u van Google Search Console kent. De derde methode die de meeste handleidingen nog beschrijven, een CNAME-record, is sinds januari 2023 opgeschort.

Hieronder staan de implementatiedetails van beide werkende methoden, wat de opschorting van CNAME betekent als u het eerder gebruikte, en de redenen waarom verificatie doorgaans mislukt, met hoe u elk ervan vanuit een terminal controleert.

Waar de verificatie plaatsvindt

Het webmasterproduct van Baidu heet Baidu Search Resource Platform (百度搜索资源平台) en staat op ziyuan.baidu.com; in de wandelgangen heet het nog altijd Baidu Zhanzhang. U voegt een site toe, kiest een verificatiemethode, en Baidu haalt iets van uw domein op om te bevestigen dat u de controle heeft. Pas daarna komen linkindiening, sitemap-upload en de crawldiagnostiek beschikbaar.

Twee eigenaardigheden van het propertymodel zorgen voor problemen nog voordat u een methode kiest:

  • Protocol en host horen bij de identiteit. https://example.com en https://www.example.com zijn voor Baidu twee verschillende sites, en dat geldt ook voor de http://-varianten. Voeg precies de origin toe die uw canonieke URL's gebruiken. Verifieert u de verkeerde, dan verwijst alles wat u daarna indient naar een property waar geen bezoeker langskomt.
  • De ophaalactie komt vanaf het Chinese vasteland. Wat het eigendom ook bewijst, het moet van daaruit bereikbaar zijn via het publieke internet, zonder challengepagina ervoor. Dat ene feit verklaart de meeste storingen onderaan dit artikel.

En daarvoor komt nog een account. Zonder Baidu-account bereikt u het verificatiescherm überhaupt niet, en registratie is gekoppeld aan SMS-bevestiging op een mobiel nummer van het Chinese vasteland. Voor een bedrijf in Europa of het Verenigd Koninkrijk is dat een echte muur, en het is goed dat te weten voordat u een middag aan templates en deploys besteedt. Daarover meer aan het slot.

Methode 1: het HTML-verificatiebestand

De meest gebruikte methode, en de methode van voorkeur zodra u een statisch bestand kunt uitrollen.

Baidu genereert een bestand voor uw site en biedt het aan als download. De naam ziet er zo uit:

baidu_verify_codeva-XXXXXXXXXX.html

Oudere properties kregen namen in de vorm baidu_verify_XXXXXXXXXX.html, en sommige panelen tonen het voorvoegsel code- in plaats van codeva-. Probeer de naam of het token niet te reconstrueren aan de hand van een blogbericht: download het bestand dat Baidu u geeft, of kopieer de tekenreeks teken voor teken uit het paneel. De inhoud van het bestand is kort, meestal alleen het token en verder niets.

Het moet worden geserveerd vanaf de hoofdmap van de origin die u heeft geregistreerd:

https://example.com/baidu_verify_codeva-XXXXXXXXXX.html

Niet in een submap, niet achter een taalprefix, niet op een andere host.

Waar het bestand hoort, per stack

StackLocatie
Vite, Create React App, SvelteKit (static), Nuxtpublic/ of static/ in de projecthoofdmap
Next.js (beide routers)public/
Hugo, Astrorespectievelijk static/ en public/
Laravelpublic/
Djangoeen static/-map die collectstatic verzamelt, of rechtstreeks geserveerd door nginx
ASP.NET Corewwwroot/
WordPressde webhoofdmap naast wp-config.php, via SFTP
Kale nginx of Apachede documenthoofdmap

Controleer het zoals Baidu dat doet

curl -sSI https://example.com/baidu_verify_codeva-XXXXXXXXXX.html
curl -sS  https://example.com/baidu_verify_codeva-XXXXXXXXXX.html

U wilt HTTP/2 200 zien, een content-type van text/html, geen location-header, en een body die exact het token is. Drie uitkomsten betekenen dat u nog niet klaar bent:

  • Een 301 of 302. Iets normaliseert het pad, meestal een regel voor afsluitende slashes of een taalredirect die elk niet-herkend pad naar /en/... stuurt. Zet een uitzondering vóór de catch-all.
  • Een 200 die uw app-shell teruggeeft. Dit is verreweg het vaakst voorkomende valse succes. Een single-page app met een catch-all route beantwoordt elk pad met index.html en status 200, dus het bestand "bestaat", maar de body is uw React-markup. Baidu leest de body, vindt geen token en wijst het af. Serveer het statische bestand vóór de SPA-fallback.
  • Een 404 die na het uitrollen blijft. Meestal heeft een CDN het negatieve antwoord gecachet. Leeg de cache voor precies dat pad en controleer opnieuw met curl -H 'Cache-Control: no-cache'.

Laat het bestand daarna in de repository staan. Baidu controleert het eigendom periodiek opnieuw, en een site die zijn verificatiebestand kwijtraakt, verdwijnt geruisloos uit het paneel.

Methode 2: de HTML-metatag

Kies deze wanneer u wel templates kunt bewerken maar geen bestanden in de webhoofdmap kunt zetten, wat de normale situatie is bij een beheerd CMS of een platformhost.

Baidu geeft u een tag van deze vorm, bestemd voor de <head> van de homepage:

<meta name="baidu-site-verification" content="codeva-XXXXXXXXXX" />

Het name-attribuut is altijd baidu-site-verification, precies zo gespeld, streepjes inbegrepen. De content-waarde is het token uit het paneel.

Drie regels bepalen of het werkt:

  1. Hij moet binnen <head> staan. Een parser die hem in de <body> aantreft, beschouwt de head al als gesloten. Alles wat na het eerste element buiten de head wordt ingevoegd, is te laat.
  2. Hij moet in de HTML staan die de server verstuurt. Open view-source: of, beter nog, curl -sS https://example.com | grep baidu-site-verification. Verschijnt de tag alleen in de elementinspector van de DevTools, dan is hij na hydratie door JavaScript toegevoegd en telt hij niet. Hierop lopen client-gerenderde React- en Vue-apps stuk, en daarom is de bestandsmethode bij een SPA eenvoudiger.
  3. Hij moet het framework overleven. Head-managers ontdubbelen en schonen op. Next.js wil hem in de metadata-export zien en niet als verdwaalde <meta> in een component. React Helmet gooit tags weg die buiten zijn provider worden gerenderd. Sommige beveiligingsplug-ins voor CMS'en strippen metatags met onbekende namen. Een tagmanager kan hem niet plaatsen, want die draait aan de clientkant.

Plaatsing per framework:

// Next.js App Router, app/layout.js
export const metadata = {
  other: { 'baidu-site-verification': 'codeva-XXXXXXXXXX' },
}
// WordPress, functions.php van een child theme
add_action('wp_head', function () {
  echo '<meta name="baidu-site-verification" content="codeva-XXXXXXXXXX" />' . "\n";
}, 1);

Op een server-gerenderde site zet u hem in het basistemplate naast de charset- en viewporttags, en dan vergeet u hem. Bij Hugo is dat layouts/_default/baseof.html, bij Django het basistemplate dat alle pagina's uitbreiden.

Het CNAME-record: opgeschort sinds januari 2023

Oudere handleidingen, waaronder de eerste versie van deze, beschrijven een derde methode: een CNAME-record in de DNS. Op 13 januari 2023 schortte Baidu de CNAME-verificatie op (mededeling van Baidu) en verwees site-eigenaren in plaats daarvan naar verificatie via een bestand of een HTML-tag. Per 10 oktober 2026 heeft Baidu geen mededeling gepubliceerd waarin die methode terugkeert.

Is een site vóór die datum met CNAME geverifieerd, dan ziet het record er zo uit:

abcdef123456.example.com.  3600  IN  CNAME  ziyuan.baidu.com.

In een DNS-paneel verschijnt het als:

VeldWaarde
TypeCNAME
Naam / Hostabcdef123456
Waarde / Doelziyuan.baidu.com
TTLwat er destijds is ingesteld, vaak 3600

Wat de opschorting voor u betekent:

  • Een nieuwe site kan het niet gebruiken. Baidu accepteert CNAME niet meer voor een site die nog niet geverifieerd is. Gebruik het bestand of de metatag hierboven.
  • Een bestaande CNAME-verificatie blijft geldig. Volgens de mededeling van Baidu worden al geverifieerde sites niet geraakt.
  • Verwijder het record niet. Verdwijnt het en vervalt de verificatie, dan verwijst de mededeling u naar het bestand of de metatag. De CNAME opnieuw aanmaken brengt de verificatie niet terug.
  • Zet er geen proxy voor. Bij Cloudflare lost een geproxyd record (oranje wolkje) van buitenaf niet meer op als CNAME, waardoor een latere hercontrole mislukt. Laat het verificatierecord op DNS only staan.
dig +short abcdef123456.example.com CNAME
# ziyuan.baidu.com.

dig +short @8.8.8.8 abcdef123456.example.com CNAME

Geven beide ziyuan.baidu.com. terug, dan is het oude record intact. Toont de console de site als niet geverifieerd, verifieer dan opnieuw met het bestand of de metatag in plaats van aan de DNS te sleutelen.

Waarom verificatie mislukt terwijl de opzet klopt

U heeft het bestand gecurld, het geeft 200, en Baidu zegt nog steeds nee. Werk deze lijst af:

  • Een botchallenge of een WAF-regel. Cloudflare Bot Fight Mode, de managed rules van AWS WAF en de meeste "under attack"-instellingen sturen elke client die geen scripts uitvoert een JavaScript-tussenpagina met een 403 of 503. De ophaaldienst van Baidu voert die niet uit. Zet het verificatiepad of de crawler op de allowlist.
  • Geoblokkering. Heel wat Europese sites blokkeren of knijpen verkeer vanaf het Chinese vasteland af om scraping tegen te gaan. De verificatie-aanvraag komt precies uit dat bereik. Controleer of niets aan de edge hem laat vallen.
  • De user agent wordt gefilterd. De crawler meldt zich als Baiduspider. Sommige beveiligingsstacks zien onbekende crawlerstrings aan voor scrapers. Wilt u vóór het toelaten vaststellen dat een aanvraag echt is: de reverse DNS van het bron-IP komt uit op *.baidu.com of *.baidu.jp, en de forward lookup moet daarmee overeenkomen.
  • robots.txt blokkeert het. Een Disallow: / onder een wildcard-user-agent, of een expliciet User-agent: Baiduspider-blok dat iemand anders heeft achtergelaten, stopt de ophaalactie voordat die begint.
  • Een TLS-probleem dat browsers verbergen. Een ontbrekend tussencertificaat wordt door desktopbrowsers geruisloos gerepareerd en door eenvoudige fetchers niet. Haal uw domein door een externe TLS-checker in plaats van op een groen slotje te vertrouwen.
  • De verkeerde origin verifiëren. Het bestand staat op www.example.com, de property in Baidu zegt example.com. Geen enkele foutmelding zal u dat vertellen.
  • Een trage eerste byte. Servers in Europa zonder Chinese aanwezigheid beantwoorden een aanvraag uit Peking traag, en een koude serverless start daarbovenop kan de ophaaltimeout overschrijden. Het op een ander tijdstip opnieuw proberen helpt echt.

Welke methode u moet kiezen

Rol een statisch bestand uit als u een buildpipeline heeft: die wordt het minst snel verminkt en is het makkelijkst te testen. Neem de metatag als u in een CMS werkt en uw pagina's server-gerenderd zijn. Kunt u de site helemaal niet aanraken, dan biedt DNS geen uitweg meer: iemand met toegang tot de webroot of de templates moet een van de twee plaatsen.

Wat u ook kiest: laat het permanent staan en noteer het in uw infrastructuurdocumentatie. Degene die over achttien maanden een mysterieus bestand verwijdert, bent u zelf.

Wat de methoden niet oplossen

Beide methoden gaan ervan uit dat u al bent ingelogd op een Baidu-account. Registratie wordt bevestigd per SMS naar een mobiel nummer van het Chinese vasteland, en voor veel properties vraagt Baidu daarnaast om verificatie van de echte naam (实名认证) met een Chinees nationaal identiteitsbewijs of een Chinese bedrijfsregistratie. Een bedrijf in Frankfurt of Manchester met een vlekkeloos geplaatst verificatiebestand komt alsnog niet tot het verificatiescherm.

Daar komt onze Baidu-aanmeldingsdienst in beeld. U wijst ons het domein aan, doorloopt aan uw kant één controle van het domeineigendom, en wij voeren de aanmelding uit en rapporteren wat Baidu daadwerkelijk heeft geïndexeerd, voor een vaste prijs per domein. Geen Chinees telefoonnummer, geen Chinese entiteit, geen eigen Baidu-account. Zodra het domein is geverifieerd, krijgt u ook 12 maanden de gegevens van het domein uit Baidu Webmaster Tools in ons portaal, waar u indexering en crawlen kunt volgen en zelf nieuwe URL's kunt indienen.

Wilt u eerst het bredere plaatje, dan behandelt de volledige Baidu-aanmeldingsgids sitemaps, de push-API en waar Baidu's ranking werkelijk op beloont. Bespreekt u het liever, plan dan een gesprek.

Dienst

Wij kunnen dit volledig van u overnemen

Het eigendomsbewijs van het domein, het indienen van sitemap en URL's, en na twee weken een indexeringsrapport. Eén domein, een vaste prijs, zonder Chinees telefoonnummer, zonder Chinese entiteit en zonder eigen Baidu-account.

Bekijk de Baidu-aanmeldingsdienst