Dannelse av nettstedskart xml i php

1. februar 2012/ Daria Rybaltovich

I denne artikkelen vil jeg prøve å vise deg hvordan du forenkler opprettelsen og oppdateringen av sitemap.xml -filen ved hjelp av et lite PHP -skript. En forutsetning for driften av dette skriptet er tilstedeværelsen av en database i MySQL -formatet på nettstedet. Hvis nettstedet ditt er skrevet uten å bruke databaser, kan du i teorien endre dette skriptet for å krysse mappetreet, men det blir mye mer arbeid, så jeg overlater det til fansenes skjønn.

Hva er sitemap.xml nettstedskart?

Sikkert, da du besøkte forskjellige Internett -ressurser, kom du over menyelementet "Sitemap" eller med dette ikonet -. Så alt dette er nødvendig og bra, men dette er for brukerne. Og vår oppgave er å gjøre det samme, men for søkeroboter. Filen sitemap.xml er ikke synlig for brukere og tjener rent tekniske oppgaver.

Nettkart (nettstedskart) Er en spesiell datastruktur i XML -format (Yandex støtter også tekstformat), som inneholder koblinger til alle sidene på nettstedet ditt på en side. Med hjelp kan du tvinge søkemotoren til å indeksere alle sidene på nettstedet ditt så raskt som mulig. I tillegg vil du kunne angi hvilke sider på nettstedet som er viktigere ved å prioritere dem.

Opprette sitemap.xml manuelt

Du kan lage et nettstedskart i et hvilket som helst tekstredigeringsprogram basert på grunnleggende kunnskap om XML -standarden.

Nedenfor er et eksempel på nettstedskart som bare inneholder én nettadresse og alle valgfrie tagger brukes. Valgfrie tagger er kursiv.

La oss først beskrive filoverskriftene og rotkatalogen:

$ zag = "\ n \ n \ t \ t 0.8\ n \ t\ n "; $ end =""; // opprett en tilkobling til databasen og velg postene vi trenger fra tabellen require_once (" constants.inc.php "); // koble filen med tilkoblingskonstanter mysql_connect (DB_HOST, DB_USERNAME, DB_PASSWORD) eller die (" Jeg kan ikke opprette en tilkobling "); mysql_select_db (DB_NAME) eller die (mysql_error ()); $ result = mysql_query (" SELECT url, prioritet, endre FROM` info` WHERE `prioritet`<>"0" ") eller dø (mysql_error ()); // hente alle poster fra tabellen mens ($ rad = mysql_fetch_assoc ($ resultat)) ($ str1 =" \ t\n\t\thttps://qzoreteam.ru/no/".$url.$row.".html\n"; //адрес страницы, если есть страницы во вложенных папках, которые надо проиндексировать, то перед переменной $url можно добавить переменную с категорией $str2 = "\t\t".$row["priority"]."\n"; //приоритетность $str3 = "\t\t".$row["modify"]."\n"; //дата изменения страницы $str4 = "\t\ n "; $ str = $ str. $ str1. $ str2. $ str3. $ str4; // samle den siste strengen.) $ str = $ zag. $ str0. $ str. $ end;

La oss nå legge til en filbehandler:

$ file = "./sitemap.xml"; // adresse der vi skriver filen (jeg skriver til roten) hvis (! $ handle = fopen ($ fil, "w")) (ekko "Kan ikke åpne fil ($ fil)"; exit;) if (fwrite ( $ handle, $ str) === FALSE) (echo "Kan ikke skrive til fil ($ file)"; exit;) echo "Success"; fclose ($ håndtak);

Som et resultat vil filen vår se slik ut:

\ n \ n \ t \ t 0.8\ n \ t\ n "; $ end =""; require_once (" constants.inc.php "); mysql_connect (DB_HOST, DB_USERNAME, DB_PASSWORD) eller die (" Kan ikke opprette tilkobling "); mysql_select_db (DB_NAME) eller die (mysql_error ()); $ result = mysql_query ( "VELG url, prioritet, endre FRA` info` WHERE` prioritet`<>"0" ") eller dø (mysql_error ()); mens ($ rad = mysql_fetch_assoc ($ resultat)) ($ str1 =" \ t\n\t\thttps://qzoreteam.ru/no/".$url.$row["from"].".html\n"; $str2 = "\t\t".$row["priority"]."\n"; $str3 = "\t\t".$row["modify"]."\n"; $str4 = "\t\ n "; $ str = $ str. $ str1. $ str2. $ str3. $ str4;) $ str = $ zag. $ str0. $ str. $ end; $ file =" ./sitemap.xml "; hvis (! $ handle = fopen ($ file, "w")) (echo "Kan ikke åpne filen ($ file)"; exit;) if (fwrite ($ handle, $ str) === FALSE) (echo "Kan ikke skrive to file ($ file) "; exit;) echo" Success "; fclose ($ handle);?>

Last opp filen til serveren og kjør den fra nettleseren. Hvis alt er gjort riktig, mottar vi en "Suksess" -melding og nyter resultatet.

Hvor skal søkemotorer få vite om sitemap.xml

Vanligvis lastes sitemap.xml -filen ned til rotmappen på nettstedet. Men hvis det er ønskelig, kan den lastes opp til hvilken som helst nettstedmappe som er tilgjengelig via nettleseren. Deretter må du registrere banen til filen sitemap.xml i robots.txt -filen.

Hvis nettstedet ditt ennå ikke har en robots.txt -fil, må du lage en minimal versjon av den som gjør at alle søkemotorer kan gjennomgå hele nettstedet fullt ut. For å gjøre dette må du lage en fil med bare to linjer:

Brukeragent: * Tillat: /

Når vi har en fungerende robots.txt -fil til rådighet, trenger vi bare å legge til en linje.

Nettkart: http: //site/sitemap.xml

I dette tilfellet ligger sitemap.xml -filen ved roten til nettstedet og er tilgjengelig for søkroboter.

Etiketter: Administrerende direktør, Sitebuilding

Med vår nettstedskartgenerator kan du lage XML -filer som kan sendes til Google, Yandex, Bing, Yahoo og andre søkemotorer for å hjelpe dem med å indeksere nettstedet ditt.

Gjør det i tre enkle trinn:

  • Skriv inn hele nettadressen i skjemaet.
  • Klikk på "Start" -knappen og vent til nettstedet er fullstendig gjennomsøkt. I dette tilfellet vil du se hele antallet fungerende og ødelagte lenker.
  • Ved å klikke på "Sitemap.xml" -knappen lagrer du filen på et praktisk sted.

  • Sitemap er et nettstedskart i XML -format, som i 2005 søkemotoren Google begynte å bruke for å indeksere sidene på nettsteder. En nettstedskartfil er en måte å organisere et nettsted på, og avsløre adressen og dataene for hver seksjon. Tidligere var nettstedskart hovedsakelig rettet mot nettstedbrukere. XML -formatet ble designet for søkemotorer for å finne data raskere og mer effektivt.

    Den nye nettstedskartprotokollen ble utviklet som svar på den økende størrelsen og kompleksiteten til nettsteder. Bedriftsnettsteder inneholder ofte tusenvis av produkter i katalogene, populariteten til blogger, fora, meldingstavler, og tvinger nettredaktører til å oppdatere materialet minst en gang om dagen. Søkemotorer synes det blir stadig vanskeligere å holde oversikt over alt materiale. Gjennom XML -protokollen kan søkemotorer spore nettadresser mer effektivt ved å optimalisere søket ved å plassere all informasjon på en side. XML viser også hvor ofte et bestemt nettsted oppdateres og registrerer de siste endringene. XML -kart er ikke et verktøy for søkemotoroptimalisering. Det påvirker ikke rangeringene, men det tillater søkemotorer å gjøre mer nøyaktige rangeringer og søk. Det gjør dette ved å gi søkemotorvennlige data.

    Den generelle aksept av XML -protokollen betyr at nettstedutviklere ikke lenger trenger å lage forskjellige typer nettstedskart for forskjellige søkemotorer. De kan opprette en fil per visning og deretter oppdatere den når de gjør endringer på nettstedet. Dette forenkler hele prosessen med å finjustere og utvide nettstedet ditt. Nettredaktører begynte selv å se fordelene med å bruke dette formatet. Søkemotorer rangerer sider i henhold til innholdets relevans for bestemte søkeord, men før XML -formatet ble ofte innholdet på sidene ikke presentert riktig. Dette er ofte frustrerende for nettredaktører som innser at arbeidet med å bygge nettsteder har gått upåaktet hen. Blogger, flere sider, legge til multimediefiler tar timer. Gjennom XML -filen vil ikke disse timene være bortkastet, de vil bli sett av alle kjente søkemotorer.

    For å lage XML -nettstedskart og holde søkemotorer informert om alle endringene i nettstedet ditt, kan du prøve vår gratis nettstedskartgenerator.

    Mange nettstedbyggere tar ikke nok hensyn til nettstedskartet - og forgjeves sier jeg deg. Sitemap.xml er en av hovedkildene som roboten lærer om sidene som finnes under nøye veiledning. Jeg anbefaler på det sterkeste å skaffe deg en hvis du ikke allerede har dette verktøyet.

    Hva er det- nettstedskart?

    Dette er en ren tekstfil i .xml -format, sjeldnere i .html -format, som lagrer lenker til nettstedets sider, datoene for opprettelsen, datoen for den omtrentlige oppdateringen, prioriteten til sidene. All denne informasjonen - opprettelsesdato, prioritet, oppdateringsfrekvens - er betinget informasjon, søkeroboter legger ikke så stor vekt på den, koblingene i seg selv er viktige for den for enklere og raskere indeksering.

    Hvordan lage et nettstedskart.xml?

    Det er en haug med tjenester for å lage et nettstedskart. Jeg kommer ikke til å liste dem: tromm fingrene på tastaturet, og en god onkel gosh eller yasha gir deg et dusin tjenester på et sekund. Men det er noen ulemper: Vanligvis lager disse tjenestene et kart på ikke mer enn 500 sider, sjelden 1000, men hva om nettstedet ditt inneholder mer? Så gi meg litt penger. Men vi vil ikke dele med våre hardt opptjente penger for å "leve godt"! Videre er det fortsatt en ulempe: du må gå til denne tjenesten hver gang, lage et kart, laste det ned til deg selv ... Skrekk, kort sagt.

    Det er en annen måte: det er mange programmer for å lage et nettstedskart, men for et slikt verktøy må du betale omtrent 20 amerikanske rubler, noe som personlig ikke passer meg heller. Du vet allerede, kjære leser, at jeg er den lateste skapningen i denne verden, og siden du leser alt dette og fremdeles ikke har snudd siden, så er vi nære i ånden. Derfor har jeg valgt den enkleste måten, som jeg vil dele med deg. Vi vil ganske enkelt lage en php -fil som tar all nødvendig informasjon fra MySQL -databasen og sender den ut. Og vi vil fortelle roboten at dette er en .xml -fil, hvilken forskjell gjør det for ham ... Så la oss gå. Lag en sitemap.php -fil med noe slikt:

    1. require_once "db.php";
    2. Overskrift("Innholdstype: application / xml") ;
    3. ekko "nn ";
    4. ekko " n ";
    5. $ urladdr = "http: //". $ _SERVER ["HTTP_HOST"]. "/";
    6. $ resultat = mysql_query("VELG * FRA video ORDER BY video_id DESC", $ db)
    7. eller dø ( mysql_error() ) ;
    8. $ rader = mysql_num_rows($ resultat);
    9. hvis ($ rader> 0) (
    10. mens ($ data = mysql_fetch_array($ resultat)) (
    11. ekko "tn" ;
    12. echo "tthttps://qzoreteam.ru/no/" . $urladdr . "video.php?act=video&video_id=" . $data [ "video_id" ] . " n" ;
    13. $date = date ("Y-m-d" , $data [ "video_data" ] ) ;
    14. echo "tt" . $date . " n" ;
    15. echo "ttdaily n" ;
    16. echo "tt0.7 n" ;
    17. echo "t rn ";
    18. ekko " n ";

    Jeg håper du selv kan endre navnene på tabellene og feltene vi må referere til, så vel som den viste adressen. Du kan gjenta denne operasjonen så mange ganger du vil, bare endre tabellnavn og adresser. Deretter lurer vi roboten: la den tro at den ser .xml -filen, ikke .php -filen, selv om den generelt er lilla: den vil spise den og blåse. Åpne (eller opprett i en enkel tekstredigerer, hvis den ikke allerede finnes) filen .htaccess, og legg til følgende linjer i den:

    Skriv om motoren

    RewriteRule ^ sitemap.xml $ sitemap.php [L]

    Det er det, roboten bedratt oss frekt og ser nå sitemap.xml -filen i stedet for sitemap.php, som forresten ikke glemmer å slippe den inn i roten til nettstedet. Han ser noe slikt:

    Kode: XML

    http: //www.your_site.ru/video.php? act = video & video_id = 5

    2013-01-01

    daglig

    0.7

    Og siden vi har aktivert en stund -sløyfe, viser skriptet alle koblinger som har en ID.

    Vel, og siste touch - la oss informere edderkoppene om at vi endelig har dette kortet. Åpne robots.txt (hvis den ikke eksisterer ennå, opprett den), og legg til linjen

    Kode: ROBOTS

    Vert: www.your_site.ru

    Nettkart: http: //www.your_site.ru/sitemap.xml

    Det er generelt sett alt, kjære leser. Ikke glem at ett nettstedskart ikke kan være mer enn 10 MB eller 50 000 lenker. Hvis du har flere av dem, må du dele nettstedskartet i flere deler, men mer om det en annen gang. Takk for din oppmerksomhet.

    Du er bare en idiot hvis du på en gang ikke tok den nødvendige oppmerksomheten til nettstedskartet. Det er nok å forstå problemet en gang og i fremtiden for å unngå et stort antall feil, som vi skal gjøre nå.

    Din ydmyke tjener i hans yngre år var også en så idiot da han nettopp begynte å markedsføre nettsteder på ett kontor. På den tiden kom jeg over et nettsted for markedsføring, som jeg må si var bare dritt. Og denne dritten hadde indekseringsproblemer. Selvfølgelig, hvis nettstedet var av tilstrekkelig kvalitet, ville begge søkemotorene indeksere det til tross for problemer, men eierne presset på en normal designer, layoutdesigner og programmerer, og i dette tilfellet må SEO bare åpne flasken med saks , så å si. Jeg prøvde alt på den - og den sist modifiserte innstillingen, og akselerasjonen av indeksering av fastboten som var fasjonabel på den tiden, og kjøp av lenker. Og først senere viste det seg at saken var at nettstedskartet ikke ble automatisk oppdatert der! Da jeg oppdaterte den, fløy alle sidene inn i indeksen.

    Hva er et nettstedskart og hvorfor er det nødvendig

    Hva er et nettstedskart? Dette er en fil med informasjon om sidene på nettstedet som må indekseres. Vanligvis opprettes et nettstedskart for Yandex og Google for å varsle søkeroboter om sidene som må legges til indeksen. Ved hjelp av et nettstedskart sjekker den også hvor ofte oppdateringer skjer, og indeksering av hvilke webdokumenter som er viktigst. Generelt snakket de veldig godt om ham på Yandex Webmaster:

    [yt = INGCBkR26eo] [yt = INGCBkR26eo]

    Påvirker tilstedeværelsen av et nettstedskart kampanjen?

    Hvis du ikke har et nettstedskart, betyr det ikke at søkemotorer ikke vil indeksere ressursen. Søkeroboter gjennomsøker ofte nettsteder godt og inkluderer dem i søk uten det. Men noen ganger kan det oppstå feil, som noen ganger ikke alle webdokumenter kan bli funnet på. Hovedårsakene er:

    1. Deler av nettstedet, som bare kan nås ved å gjøre en lang kjede med overganger;
    2. Dynamiske nettadresser.

    Så å lage et sitemap.xml hjelper mye på å løse dette problemet. Denne filen påvirker bare SEO i den grad den gjør indeksering av sider enklere / raskere. Det øker også sjansen for at nettsider blir indeksert før konkurrentene kan kopiere innholdet ved å publisere det på nettstedet deres.

    Hvilket annet format er nettstedskartet i, og hvorfor er det laget i XML -format

    Hvorfor trenger vi et nettstedskart, vi fant det ut. La oss nå se på hvilke formater det kan gjøres i:

    1. I html -format. Den er opprettet i form av en vanlig side med adresser som fører til hovedseksjonene i ressursen. Denne typen kart hjelper deg med å raskt navigere, og er designet mer for mennesker enn for søkeroboter. Et begrenset antall lenker (ikke mer enn 100) kan plasseres i HTML -nettstedskartet, for hvis det er flere av dem, vil ikke alle bli inkludert i indeksen. Eller søkroboter kan helt utelukke en slik side fra søket etter et stort antall nettadresser, også interne.
    2. Opprettelse av xml-fil-nettstedskart. Det er ikke for kritiske begrensninger på antall lenker, og søkemotorer indekserer det bedre, fordi nettstedskartfilen i xml-format inneholder fullstendig informasjon i et skjema som er forståelig for roboten. Det er spesielt viktig for prosjekter der det er hundrevis og tusenvis av dokumenter av samme betydning, og plassering av alle koblinger til dem er nødvendig. Denne typen nettstedskart har plass til opptil 50 000 nettadresser, og i tillegg kan du angi frekvensen for oppdateringer og omtrentlig prioritet (prioritet), som ikke kan sies om kartet i HTML -format. Det er av disse grunnene at et nettstedskart nesten alltid opprettes i xml.

    Her er litt mer informasjon om denne filen:

    [yt = ti3NKPknHDA] [yt = ti3NKPknHDA]

    Hvordan lage et riktig nettstedskart

    La oss se hvordan du lager et riktig xml -kart. Følgende krav må oppfylles her:

    1. Filstørrelsen skal ikke være mer enn 10 MB;
    2. Kartet bør ikke inneholde mer enn 50 000 lenker. I tilfeller der det er flere lenker, kan du opprette flere kart og inkludere dem i hoved xml -kartet;
    3. Nettkartadresse bør registreres i robots.txt;
    4. Last også opp nettstedskartet til Yandex og Google (hvordan du legger til en fil er beskrevet nedenfor);
    5. Søkemotorer må ha tilgang til kartet. Det er nødvendig å bruke spesielle tagger som lar søkemotorer forstå at dette er et kart, og ikke noe annet;
    6. Nettkartet må være UTF-8-kodet.

    Her er et enkelt eksempel på et kart:

    http://site.ru/ 2016-11-20T19:45:08+03:00 always 0,9 http://site.ru/category/ 2016-11-20T19:46:38+03:00 monthly 0,6 http://site.ru/page/ 2016-11-20T19:48:41+03:00 yearly 0.4

    < url >

    < loc >http: //site.ru/

    < lastmod >2016 - 11 - 20T19: 45: 08 + 03: 00< / lastmod >

    < changefreq >bestandig< / changefreq >

    < priority > 0 , 9 < / priority >

    < / url >

    < url >

    < loc >http: //site.ru/category/

    < lastmod >2016 - 11 - 20T19: 46: 38 + 03: 00< / lastmod >

    < changefreq >månedlig< / changefreq >

    < priority > 0 , 6 < / priority >

    < / url >

    < url >

    < loc >http: //site.ru/page/

    < lastmod >2016 - 11 - 20T19: 48: 41 + 03: 00< / lastmod >

    < changefreq >årlig< / changefreq >

    < priority > 0.4 < / priority >

    < / url >

    URL- og loc -koder er påkrevd. Den første inneholder all informasjon om en bestemt URL. I den andre er selve adressen skrevet.

    Lastmod, changefreq, prioritetskoder er valgfrie, men anbefales fortsatt.

    Lastmod i nettstedskartet er ansvarlig for datoen for den siste oppdateringen.

    Changefreq angir hyppigheten av sideendringer. Verdiene kan være som følger:

    1. Time - oppdater hver time;
    2. Alltid - alltid oppdatert;
    3. Ukentlig - oppdateres en gang i uken;
    4. Daglig - oppdateringer skjer daglig;
    5. Månedlig - oppdateringer skjer en gang i måneden;
    6. Årlig - en gang i året;
    7. Aldri - ikke oppdatert (det er bedre å ikke bruke en slik verdi).

    Prioritet forteller søkemotorer hvor viktig en side er i forhold til andre. Prioriteten kan settes fra 0,1 (lav) til 1 (høy).

    Dette var bare et eksempel på et kart, du trenger ikke å spesifisere disse verdiene. Generelt anbefales det å ordne prioritet som følger: maksimum for hovedsiden (1), for overskrifter - middels (0,6) og for innlegg - minimum (0,4).

    La oss se på et eksempel når det er mer enn 50 tusen lenker. I dette tilfellet inneholder filen andre kart:

    http://site.ru/sitemaps/sitemap01.xml 2016-11-20T21: 37: 28 + 03: 00 http://site.ru/sitemaps/sitemap02.xml 2016-11-20T21: 37: 29 + 03: 00

    < sitemap >

    < loc >http: //site.ru/sitemaps/sitemap01.xml

    < lastmod >2016 - 11 - 20T21: 37: 28 + 03: 00< / lastmod >

    < / sitemap >

    < sitemap >

    < loc >http: //site.ru/sitemaps/sitemap02.xml

    < lastmod >2016 - 11 - 20T21: 37: 29 + 03: 00< / lastmod >

    < / sitemap >

    Hvordan lage et nettstedskart

    Det er flere måter å lage et xml-kart på, vurdere dem:

    1. Last ned et kart ved hjelp av en elektronisk generator fra en annen ressurs;
    2. Generer med et spesielt program. Men det er verdt å vurdere at slike programmer for det meste betales. Et eksempel på en slik generator er Wonder WebWare SiteMap Generatior. Screaming Frog har også denne funksjonen;
    3. Lag et nettstedskart manuelt;
    4. Lag et kart automatisk ved hjelp av CMS (for eksempel er en slik funksjon tilgjengelig på WordPress).

    Her er en måte å lage et nettstedskart uten plugins:

    [yt = Tnfy601BUZc] [yt = Tnfy601BUZc]

    WordPress -nettstedskart -plugins

    Du kan lage et nettstedskart i WordPress ved hjelp av en spesiell plugin som heter Google XML Sitemaps. Alt er enkelt her: Last ned pluginet, installer det, og begynn deretter å lage filen. For å gjøre dette, åpne konsollinnstillingene og velg XML-nettstedskartet. Deretter angir vi innstillingene. La standardprioriteten være.