Back to ArticlesNe želite sami da se bavite ovim? Prijavljujemo vaš sajt na Baidu po fiksnoj ceni.Pogledajte uslugu Baidu prijave

Verifikacija sajta na Baidu: HTML fajl, meta oznaka i CNAME zapis

Beijing central business district skyline at dusk

Neko vam je dodelio zadatak vezan za Baidu, a prva prepreka je ekran za verifikaciju. Baidu neće prihvatiti mapu sajta, neće otvoriti izveštaje o indeksiranju i neće vam dozvoliti da pošaljete nijedan URL dok se ne uveri da je domen vaš. Postoje tri načina da to dokažete, svaki se ponaša drugačije, a greške nisu one na koje ste navikli iz Google Search Console.

Slede detalji implementacije za svaku metodu, razlozi zbog kojih verifikacija obično ne prolazi i način da svaku od njih proverite iz terminala.

Gde se verifikacija nalazi

Baidu alat za veb-mastere zove se Baidu Search Resource Platform (百度搜索资源平台) i nalazi se na ziyuan.baidu.com; i dalje ga svi zovu Baidu Zhanzhang. Dodate sajt, izaberete metodu verifikacije, a Baidu preuzme nešto sa vašeg domena da potvrdi kontrolu. Tek tada se otključavaju podnošenje linkova, otpremanje mape sajta i dijagnostika kraulovanja.

Dve stvari u načinu na koji Baidu vidi sajtove iznenade ljude pre nego što uopšte izaberu metodu:

  • Protokol i host su deo identiteta. https://example.com i https://www.example.com za Baidu su dva različita sajta, kao i njihove http:// verzije. Dodajte tačno onaj origin koji koriste vaše kanonske URL adrese. Ako verifikujete pogrešan, sve što posle pošaljete odnosi se na sajt kroz koji ne prolazi nimalo vašeg saobraćaja.
  • Preuzimanje dolazi iz kontinentalne Kine. Šta god da dokazuje vlasništvo, mora biti dostupno odande, preko javnog interneta, bez zaštitne međustranice ispred. Ta jedna činjenica objašnjava većinu grešaka sa kraja ovog teksta.

Pre svega toga, tu je nalog. Bez Baidu naloga do ekrana za verifikaciju uopšte ne stižete, a registraciju potvrđuje SMS na mobilni broj iz kontinentalne Kine. Za firmu u Evropi ili Velikoj Britaniji to je stvaran zid i vredi ga znati pre nego što potrošite popodne na DNS. O tome više na kraju.

Metoda 1: HTML fajl za verifikaciju

Najčešća metoda i ona koju treba izabrati kada možete da postavite statični fajl.

Baidu generiše fajl za vaš sajt i nudi ga za preuzimanje. Ime izgleda ovako:

baidu_verify_codeva-XXXXXXXXXX.html

Stariji sajtovi dobijali su imena oblika baidu_verify_XXXXXXXXXX.html, a neke kontrolne table prikazuju prefiks code- umesto codeva-. Nemojte da rekonstruišete ime ni token prema nekom blog postu: preuzmite fajl koji vam Baidu daje ili prekopirajte string iz table znak po znak. Sadržaj fajla je kratak, obično sam token i ništa više.

Mora da se servira iz korena origina koji ste registrovali:

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

Ne u poddirektorijumu, ne iza jezičkog prefiksa, ne na drugom hostu.

Gde ide fajl, po tehnologiji

| Tehnologija | Lokacija | | --- | --- | | Vite, Create React App, SvelteKit (static), Nuxt | public/ ili static/ u korenu projekta | | Next.js (oba rutera) | public/ | | Hugo, Astro | static/ odnosno public/ | | Laravel | public/ | | Django | direktorijum static/ koji skuplja collectstatic, ili ga nginx servira direktno | | ASP.NET Core | wwwroot/ | | WordPress | koren sajta pored wp-config.php, preko SFTP | | Običan nginx ili Apache | koreni direktorijum dokumenata |

Proverite onako kako će proveriti Baidu

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

Želite HTTP/2 200, content-type tipa text/html, nijedno location zaglavlje i telo koje je tačno token. Tri ishoda znače da niste gotovi:

  • 301 ili 302. Nešto normalizuje putanju, najčešće pravilo za kosu crtu na kraju ili jezičko preusmerenje koje svaku nepoklopljenu putanju šalje na /en/.... Dodajte izuzetak pre pravila koje hvata sve.
  • 200 koji vraća ljusku aplikacije. Ovo je ubedljivo najčešći lažni prolaz. Jednostranična aplikacija sa rutom koja hvata sve na svaku putanju odgovara fajlom index.html i statusom 200, pa fajl „postoji”, ali mu je telo vaš React markup. Baidu pročita telo, ne nađe token i odbije verifikaciju. Servirajte statični fajl pre SPA fallbacka.
  • 404 koji ostaje i posle deploya. Obično je kriv CDN koji je keširao negativan odgovor. Očistite tačno tu putanju, pa proverite ponovo sa curl -H 'Cache-Control: no-cache'.

Ostavite fajl u repozitorijumu. Baidu povremeno ponovo proverava vlasništvo, a sajt koji izgubi verifikacioni fajl tiho ispadne iz table.

Metoda 2: HTML meta oznaka

Koristite je kada možete da menjate šablone, ali ne i da ubacujete fajlove u koren sajta, što je uobičajena situacija na upravljanom CMS-u ili platformskom hostingu.

Baidu vam daje oznaku ovog oblika, koja ide u <head> početne stranice:

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

Atribut name je uvek baidu-site-verification, napisan tačno tako, sa crticama. Vrednost content je token sa table.

Da li će raditi, odlučuju tri pravila:

  1. Mora da bude unutar <head>. Parser koji je nađe u <body> smatra da je head već zatvoren. Sve ubačeno posle prvog elementa van heada stiže prekasno.
  2. Mora da bude u HTML-u koji šalje server. Otvorite view-source: ili, još bolje, curl -sS https://example.com | grep baidu-site-verification. Ako se oznaka vidi samo u inspektoru elemenata u DevTools, dodao ju je JavaScript posle hidracije i ne računa se. Upravo to je ruši na React i Vue aplikacijama renderovanim na strani klijenta i zato je kod SPA lakše sa fajlom.
  3. Mora da preživi frejmvork. Menadžeri heada uklanjaju duplikate i čiste oznake. Next.js je očekuje u metadata izvozu, a ne kao usamljen <meta> u komponenti. React Helmet odbacuje oznake renderovane van svog providera. Neki bezbednosni dodaci za CMS uklanjaju meta oznake sa nepoznatim imenima. Menadžer oznaka ne može da je postavi, jer radi na strani klijenta.

Postavljanje po frejmvorcima:

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

Na sajtu koji se renderuje na serveru stavite je u osnovni šablon, pored charset i viewport oznaka, i zaboravite na nju. Kod Hugo to je layouts/_default/baseof.html, kod Django osnovni šablon koji sve stranice proširuju.

Metoda 3: CNAME zapis

DNS metodu birate kada ne možete ništa da postavite, kada je sajt iza uređaja nad kojim nemate kontrolu ili kada želite da provera preživi svaki budući deploy. Uz to dokazuje kontrolu nad celim domenom, a ne nad jednim dokumentom.

Baidu vam pokaže nasumičnu oznaku hosta koju treba da napravite pod svojim domenom, sa Baidu kao ciljem:

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

U većini DNS tabli unosite samo levu oznaku, jer se zona podrazumeva:

| Polje | Vrednost | | --- | --- | | Tip | CNAME | | Ime / Host | abcdef123456 | | Vrednost / Cilj | ziyuan.baidu.com | | TTL | 3600, ili najniži koji tabla dozvoljava dok testirate |

Četiri stvari ovde stalno idu naopako:

  • Domen se doda dvaput. Ako u tablu koja zonu već podrazumeva ukucate abcdef123456.example.com, nastaje abcdef123456.example.com.example.com. Ako vam tabla posle čuvanja prikaže puno ime, pročitajte ga.
  • Tačka na kraju cilja. U sirovom fajlu zone, ziyuan.baidu.com bez završne tačke tumači se u odnosu na zonu i postaje ziyuan.baidu.com.example.com. Table to reše umesto vas, named i Terraform fajlovi ne.
  • Proksi ispred zapisa. Na Cloudflare, zapis kroz proksi (narandžasti oblačić) spolja se više ne razrešava kao CNAME: autoritativni odgovor postaju Cloudflare A zapisi. Postavite verifikacioni zapis na DNS only.
  • Čekanje kraće od TTL-a. Ako rezolver već ima keširan negativan odgovor za to ime, važi stari TTL. Proverite šta svet stvarno vidi, a ne šta piše u vašoj tabli.
dig +short abcdef123456.example.com CNAME
# ziyuan.baidu.com.

dig +short @8.8.8.8 abcdef123456.example.com CNAME

Ostavite zapis na mestu. Brisanje posle uspešne provere poziva na neuspeh pri kasnijoj ponovnoj verifikaciji.

Zašto verifikacija pada iako podešavanje izgleda ispravno

Fajl ste proverili curl-om, vraća 200, a Baidu i dalje kaže ne. Prođite kroz ovu listu:

  • Izazov za botove ili WAF pravilo. Cloudflare Bot Fight Mode, upravljana AWS WAF pravila i većina „pod napadom” podešavanja vraćaju JavaScript međustranicu sa kodom 403 ili 503 svakom klijentu koji ne izvršava skripte. Baidu preuzimač ih ne izvršava. Dozvolite verifikacionu putanju ili samog kraulera.
  • Geografsko blokiranje. Podosta evropskih sajtova blokira ili ograničava saobraćaj iz kontinentalne Kine da bi smanjilo skrejpovanje. Verifikaciono preuzimanje dolazi tačno iz tog opsega. Uverite se da ga ništa na ivici mreže ne odbacuje.
  • Filtriran user agent. Krauler se predstavlja kao Baiduspider. Neki bezbednosni sistemi nepoznate stringove kraulera tretiraju kao skrejpere. Ako želite da potvrdite da je zahtev pravi pre nego što ga dozvolite: obrnuti DNS na izvornoj IP adresi razrešava se u *.baidu.com ili *.baidu.jp, a upit unapred mora da se poklopi.
  • robots.txt ga blokira. Disallow: / pod džoker user-agentom ili izričit User-agent: Baiduspider blok koji je neko ostavio zaustavlja preuzimanje pre nego što ono počne.
  • TLS problem koji pregledači sakriju. Nedostajući međusertifikat desktop pregledači tiho poprave, a jednostavni klijenti ne. Propustite domen kroz spoljni TLS proveravač umesto da verujete zelenom katancu.
  • Verifikujete pogrešan origin. Fajl stoji na www.example.com, a sajt u Baidu je upisan kao example.com. Poruka o grešci vam to neće reći.
  • Spor prvi bajt. Serveri u Evropi bez prisustva u Kini na zahtev iz Pekinga odgovaraju sporo, a hladan start serverless funkcije povrh toga može da premaši vreme čekanja. Ponovni pokušaj u neko drugo doba dana zaista pomaže.

Koju metodu izabrati

Postavite statični fajl ako imate build pipeline: najteže se pokvari i najlakše se testira. Uzmite meta oznaku ako živite u CMS-u, a stranice se renderuju na serveru. Uzmite CNAME ako sajt uopšte ne možete da dirate ili ako želite da vlasništvo dokažete na nivou domena jednom i nikada više.

Šta god izabrali, ostavite to trajno i zapišite u beleške o infrastrukturi, pored ostalih DNS zapisa. Osoba koja za godinu i po obriše misteriozni fajl bićete vi.

Ono što ove metode ne rešavaju

Sve tri metode podrazumevaju da ste već prijavljeni na Baidu nalog. Registraciju potvrđuje SMS na mobilni broj iz kontinentalne Kine, a za mnoge sajtove Baidu traži i verifikaciju identiteta (实名认证) kineskom ličnom kartom ili kineskom poslovnom licencom. Firma u Frankfurtu ili Mančesteru sa savršeno podešenom DNS zonom i dalje ne može da stigne do ekrana za verifikaciju.

Tu nastupa naša usluga prijave na Baidu. Pokažete nam domen, sa svoje strane obavite jednu proveru vlasništva nad domenom, a mi sprovodimo prijavu i izveštavamo šta je Baidu zaista indeksirao, po fiksnoj ceni po domenu. Bez kineskog broja telefona, bez kineskog pravnog lica, bez sopstvenog Baidu naloga.

Ako prvo želite širu sliku, potpuni vodič za prijavu na Baidu pokriva mape sajta, push API i ono što Baidu rangiranje zapravo nagrađuje. Ako biste radije da o tome popričamo, zakažite razgovor.

Usluga

Možemo sve ovo da uradimo umesto vas

Dokaz o vlasništvu nad domenom, slanje sitemapa i URL adresa, i izveštaj o indeksiranju posle dve nedelje. Jedan domen, fiksna cena, bez kineskog broja telefona, kineske firme i vašeg naloga na Baiduu.

Pogledajte uslugu Baidu prijave