PHP სკრიპტი საიტის რუქის ავტომატურად შესაქმნელად. რა არის ეს - საიტის რუკა

ბევრი საიტის შემქმნელი არ აქცევს საკმარის ყურადღებას საიტის რუკას - და ტყუილად გეუბნებით. Sitemap.xml არის ერთ-ერთი მთავარი წყარო, საიდანაც რობოტი სწავლობს იმ გვერდებს, რომლებიც არსებობს თქვენი მკაცრი ხელმძღვანელობით. მე უაღრესად გირჩევთ მის მიღებას, თუ ეს ინსტრუმენტი უკვე არ გაქვთ.

ეს რა არის - საიტის რუკა?

ეს არის ჩვეულებრივი ტექსტური ფაილი .xml ფორმატში, ნაკლებად ხშირად .html, რომელიც ინახავს საიტის გვერდების ბმულებს, მათ შექმნის თარიღებს, განახლების სავარაუდო თარიღებს და გვერდის პრიორიტეტს. მთელი ეს ინფორმაცია - შექმნის თარიღი, პრიორიტეტი, განახლების სიხშირე - პირობითი ინფორმაციაა, საძიებო რობოტები მას დიდ მნიშვნელობას არ ანიჭებენ, თავად ლინკები მათთვის მნიშვნელოვანია უფრო მარტივი და სწრაფი ინდექსაციისთვის.

როგორ შევქმნათ sitemap.xml?

არსებობს უამრავი სერვისი საიტის რუქის შესაქმნელად. მათ ჩამოთვლას არ ვაპირებ: კლავიატურაზე თითები დააჭირე და წამში შენი კეთილი ბიძა გოშა ან იაშა ათეულ სერვისს მოგცემენ. მაგრამ აქ არის უარყოფითი მხარეები: ჩვეულებრივ, ეს სერვისები ქმნიან რუკას არაუმეტეს 500 გვერდისაგან, ნაკლებად ხშირად - 1000 და რა მოხდება, თუ თქვენი საიტი შეიცავს მეტს? მაშინ მომეცი ფული. მაგრამ ჩვენ არ დავშორდებით ჩვენს ფულს "კარგად ცხოვრებისთვის"! მეტიც, კიდევ არის უხერხულობა: ყოველ ჯერზე მოგიწევთ ამ სერვისზე მისვლა, რუკის შექმნა, თავად გადმოტვირთვა... საშინელებაა, მოკლედ.

არსებობს კიდევ ერთი გზა: უამრავი პროგრამაა საიტის რუქის შესაქმნელად, მაგრამ ასეთი კომუნალური პროგრამისთვის მოგიწევთ გადაიხადოთ დაახლოებით 20 ამერიკული რუბლი, რაც პირადად არც მე ვარგა. შენ უკვე იცი, ძვირფასო მკითხველო, რომ მე ყველაზე ზარმაცი არსება ვარ ამქვეყნად და რადგან ამ ყველაფერს კითხულობ და გვერდი ჯერაც არ გადაუხვევია, ეს ნიშნავს, რომ სულით ახლოს ვართ. ამიტომ ავირჩიე უმარტივესი გზა, რომელსაც გაგიზიარებთ. ჩვენ უბრალოდ შევქმნით php ფაილს, რომელიც აიღებს ყველა საჭირო ინფორმაციას MySQL მონაცემთა ბაზიდან და გამოსცემს მას. და მოვიტყუოთ რობოტი, რომ ეს არის .xml ფაილი, რა მნიშვნელობა აქვს მას... მაშ, წავიდეთ. შექმენით sitemap.php ფაილი დაახლოებით შემდეგი შინაარსით:

  1. request_once "db.php" ;
  2. სათაური("შინაარსის ტიპი: აპლიკაცია/xml") ;
  3. ექო "nn";
  4. ექო " n";
  5. $urladdr = "http://" . $_SERVER ["HTTP_HOST"] . "/" ;
  6. $ შედეგი = mysql_query("არჩევა * ვიდეოდან შეკვეთა video_id DESC", $db )
  7. ან მოკვდე ( mysql_error() ) ;
  8. $ რიგები = mysql_num_rows($ შედეგი);
  9. თუ ($ rows > 0 ) (
  10. ხოლო ($data = mysql_fetch_array($ შედეგი) ) (
  11. ექო "ტn" ;
  12. echo "tthttps://olegshein.ru/ka/" . $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. ექო" n" ;

ვიმედოვნებ, რომ თქვენ შეძლებთ შეცვალოთ ცხრილებისა და ველების სახელები, რომლებზეც ჩვენ დაგვჭირდება წვდომა, ასევე ნაჩვენები მისამართი. თქვენ შეგიძლიათ გაიმეოროთ ეს ოპერაცია რამდენჯერაც გსურთ, უბრალოდ შეცვალეთ ცხრილის სახელები და მისამართები. შემდეგი, ჩვენ ვატყუებთ რობოტს: დაე, იფიქროს, რომ ის ხედავს .xml ფაილს და არა .php ფაილს, თუმცა, ზოგადად, ის იასამნისფერია მისთვის: ის ჭამს და იფეთქებს. გახსენით (ან შექმენით მარტივი ტექსტური რედაქტორით, თუ ჯერ არ გაქვთ) ფაილი .htaccessდა დაამატეთ მას შემდეგი სტრიქონები:

RewriteEngine ჩართულია

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

ესე იგი, რობოტი ჩვენ მიერ უხეშად მოტყუებულია და ახლა sitemap.php-ის ნაცვლად ხედავს sitemap.xml ფაილს, რომელიც, სხვათა შორის, არ დაგავიწყდეთ საიტის root-ში ჩასმა. ის ხედავს ასეთ რაღაცას:

კოდი: XML

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

2013-01-01

ყოველდღიურად

0.7

და რადგან ჩართული გვაქვს while loop, სკრიპტი აჩვენებს ყველა ბმულს, რომელსაც აქვს ID.

ისე, საბოლოო შეხება არის ობობებს ვაცნობოთ, რომ საბოლოოდ გვაქვს ეს ბარათი. გახსენით robots.txt (თუ ჯერ არ არსებობს, შექმენით) და დაამატეთ ხაზი

კოდი: ROBOTS

მასპინძელი: www.your_site.ru

საიტის რუკა: http://www.your_site.ru/sitemap.xml

ზოგადად, ეს ყველაფერია, ძვირფასო მკითხველო. უბრალოდ არ დაგავიწყდეთ, რომ ერთი საიტის რუკა შეიძლება იყოს არაუმეტეს 10 მბ ზომის ან 50000 ბმული. თუ მათგან მეტი გაქვთ, მოგიწევთ საიტის რუქის რამდენიმე ნაწილად გაყოფა, მაგრამ ამაზე მეტი სხვა დროს. გმადლობთ ყურადღებისთვის.

01 თებერვალი 2012 წ/ დარია რიბალტოვიჩი

ამ სტატიაში შევეცდები გითხრათ, როგორ გავამარტივოთ sitemap.xml ფაილის შექმნა და განახლება პატარა PHP სკრიპტის გამოყენებით. ამ სკრიპტის მუშაობის წინაპირობაა საიტზე MySQL ფორმატში მონაცემთა ბაზის არსებობა. თუ თქვენი საიტი დაწერილია მონაცემთა ბაზების გამოყენების გარეშე, მაშინ, თეორიულად, შეგიძლიათ შეცვალოთ ეს სკრიპტი საქაღალდის ხეზე გადასასვლელად, მაგრამ ეს ბევრად უფრო შრომატევადი იქნება, ამიტომ ამას ვტოვებ გულშემატკივრების შეხედულებისამებრ.

რა არის sitemap.xml საიტის რუკა?

რა თქმა უნდა, სხვადასხვა ინტერნეტ რესურსების მონახულებისას, თქვენ წააწყდით მენიუს "საიტის რუქას" ან ამ ხატულას - . ასე რომ, ეს ყველაფერი აუცილებელი და კარგია, მაგრამ ეს არის მომხმარებლებისთვის. და ჩვენი ამოცანაა იგივე გავაკეთოთ, მაგრამ საძიებო რობოტებისთვის. sitemap.xml ფაილი არ ჩანს მომხმარებლებისთვის და ასრულებს წმინდა ტექნიკურ დავალებებს.

საიტის რუკაარის სპეციალური მონაცემთა სტრუქტურა XML ფორმატში (Yandex ასევე მხარს უჭერს ტექსტურ ფორმატს), რომელიც შეიცავს ბმულებს თქვენი საიტის ყველა გვერდის ერთ გვერდზე. მისი დახმარებით თქვენ შეგიძლიათ აიძულოთ საძიებო სისტემა რაც შეიძლება სწრაფად მოახდინოს თქვენი საიტის ყველა გვერდის ინდექსირება. გარდა ამისა, თქვენ შეძლებთ მიუთითოთ, თუ რომელი გვერდებია საიტზე უფრო მნიშვნელოვანი მათთვის პრიორიტეტის მინიჭებით.

შექმნა sitemap.xml ხელით

თქვენ შეგიძლიათ შექმნათ საიტის რუკა ნებისმიერ ტექსტურ რედაქტორში, XML სტანდარტის საბაზისო ცოდნის საფუძველზე.

ქვემოთ მოცემულია საიტის რუქის მაგალითი, რომელიც შეიცავს მხოლოდ ერთ URL-ს და იყენებს ყველა არასავალდებულო ტეგს. არჩევითი ტეგები დახრილი ასოებით არის.

პირველ რიგში, მოდით აღვწეროთ ფაილის სათაურები და root დირექტორია:

$zag = "\n \n\t\t 0.8\n\t\n"; $end = ""; //შექმენით კავშირი მონაცემთა ბაზასთან და აირჩიეთ ჩვენთვის საჭირო ჩანაწერები ცხრილიდან require_once("constants.inc.php"); //შეაერთეთ ფაილი კავშირის მუდმივებთან mysql_connect(DB_HOST, DB_USERNAME, DB_PASSWORD) ან die(" მე არ შემიძლია კავშირის შექმნა " ); mysql_select_db(DB_NAME) ან die(mysql_error()); $result = mysql_query ("SELECT url, პრიორიტეტული, შეცვალე FROM `info` WHERE `პრიორიტეტი`<>"0" ") ან die (mysql_error()); //აირჩიეთ ყველა ჩანაწერი ცხრილიდან, ხოლო ($row = mysql_fetch_assoc($result)) ($str1 = "\t\n\t\thttps://olegshein.ru/ka/".$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; //შეაგროვეთ საბოლოო სტრიქონი. ) $str = $zag.$str0.$str.$end;

ახლა დავამატოთ ფაილის დამმუშავებელი:

$file = "./sitemap.xml"; //მისამართი, სადაც დავწერთ ფაილს (მე ვწერ ძირში) if(!$handle = fopen($file, "w"))(echo "ფაილის გახსნა შეუძლებელია ($file)"; გამოსვლა; ) if (fwrite ($handle , $str) === FALSE) ( echo "შეუძლებელია ჩაწერა ფაილში ($file)"; გასვლა; ) echo "წარმატება"; fclose ($ handle);

შედეგად, ჩვენი ფაილი ასე გამოიყურება:

\n \n\t\t 0.8\n\t\n"; $end = ""; require_once ("constants.inc.php"); mysql_connect (DB_HOST, DB_USERNAME, DB_PASSWORD) ან die ("კავშირის შექმნა"); mysql_select_db(DB_NAME) ან die(mysql_error()ql_reult = mys (" აირჩიეთ url, პრიორიტეტი, შეცვალეთ FROM `info` WHERE `პრიორიტეტი`<>"0" ") ან die (mysql_error()); ხოლო ($row = mysql_fetch_assoc($result)) ($str1 = "\t\n\t\thttps://olegshein.ru/ka/".$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"; თუ (!$handle = fopen($file, "w"))(echo "ფაილის გახსნა ($file)"; გასვლა; ) if(fwrite($handle, $str) === FALSE) (echo "არ შეიძლება ჩაწერა ფაილი ($file)"; გასვლა; ) ექო "წარმატება"; fclose ($handle); ?>

ატვირთეთ ფაილი სერვერზე და გაუშვით ბრაუზერიდან. თუ ყველაფერი გაკეთდა სწორად, ვიღებთ შეტყობინებას "წარმატება" და ვსარგებლობთ შედეგით.

სად ვაცნობოთ საძიებო სისტემებს sitemap.xml-ის შესახებ

როგორც წესი, sitemap.xml ფაილი აიტვირთება საიტის ძირეულ საქაღალდეში. მაგრამ, სურვილის შემთხვევაში, მისი ატვირთვა შესაძლებელია ნებისმიერი საიტის საქაღალდეში, რომელიც ხელმისაწვდომია ბრაუზერის საშუალებით. შემდეგი, თქვენ უნდა მიუთითოთ გზა sitemap.xml ფაილში robots.txt ფაილში.

თუ თქვენს საიტს ჯერ არ აქვს robots.txt ფაილი, მაშინ თქვენ უნდა შექმნათ მისი მინიმალური ვერსია, რომელიც სრულად საშუალებას აძლევს ყველა საძიებო სისტემას დაათვალიერონ მთელი საიტი. ამისათვის თქვენ უნდა შექმნათ ფაილი მხოლოდ ორი ხაზისგან:

მომხმარებლის აგენტი: * დაშვება: /

მას შემდეგ, რაც ჩვენს განკარგულებაში გვექნება მზა სამუშაო robots.txt ფაილი, უნდა დავამატოთ მხოლოდ ერთი ხაზი.

საიტის რუკა: http://site/sitemap.xml

ამ შემთხვევაში, sitemap.xml ფაილი მდებარეობს საიტის ძირში და ხელმისაწვდომია საძიებო რობოტებისთვის.

ტეგები: SEO, ვებსაიტის შექმნა

ჩვენი საიტის რუქის გენერატორის გამოყენებით, შექმენით XML ფაილები, რომლებიც შეიძლება გაგზავნილი იყოს Google, Yandex, Bing, Yahoo და სხვა საძიებო სისტემებში, რათა დაეხმარონ მათ თქვენი საიტის ინდექსირებაში.

გააკეთე ეს სამი მარტივი ნაბიჯით:

  • ფორმაში შეიყვანეთ ვებსაიტის სრული URL.
  • დააწკაპუნეთ ღილაკზე „დაწყება“ და დაელოდეთ საიტის სრულ დათვალიერებას. ამავდროულად, იხილავთ სამუშაო და გატეხილი ბმულების სრულ რაოდენობას.
  • ღილაკზე "Sitemap.xml" დაწკაპუნებით შეინახეთ ფაილი მოსახერხებელ ადგილას.

  • საიტის რუკა არის საიტის რუკა XML ფორმატში, რომელიც 2005 წელს Google-ის საძიებო სისტემამ დაიწყო ვებსაიტების გვერდების ინდექსაციისთვის გამოყენება. საიტის რუქის ფაილი არის ვებსაიტის ორგანიზების საშუალება, თითოეული სექციის მისამართისა და მონაცემების იდენტიფიცირების მიზნით. ადრე, საიტის რუქები ძირითადად მიმართული იყო საიტის მომხმარებლებისთვის. XML ფორმატი შემუშავებული იყო საძიებო სისტემებისთვის, რაც მათ საშუალებას აძლევს იპოვონ მონაცემები უფრო სწრაფად და ეფექტურად.

    საიტის რუქის ახალი პროტოკოლი შეიქმნა ვებსაიტების მზარდი ზომისა და სირთულის საპასუხოდ. ბიზნეს ვებსაიტები ხშირად შეიცავს ათასობით პროდუქტს თავიანთ კატალოგებში, ბლოგების, ფორუმების და შეტყობინებების დაფების პოპულარობა აიძულებს ვებმასტერებს განაახლონ მასალები; მაინცდღეში ერთხელ. საძიებო სისტემებისთვის სულ უფრო რთული ხდება ყველა მასალის თვალყურის დევნება. XML პროტოკოლის მეშვეობით საძიებო სისტემებს შეუძლიათ უფრო ეფექტურად აკონტროლონ მისამართები, ოპტიმიზაცია გაუკეთონ მათ ძიებას ყველა ინფორმაციის ერთ გვერდზე განთავსებით. XML ასევე აჩვენებს, რამდენად ხშირად ხდება კონკრეტული ვებსაიტის განახლება და აღრიცხავს უახლეს ცვლილებებს. XML რუკები არ არის საძიებო სისტემის ოპტიმიზაციის ინსტრუმენტი. ეს არ იმოქმედებს რეიტინგებზე, მაგრამ საძიებო სისტემებს საშუალებას აძლევს უფრო ზუსტი რეიტინგები და საძიებო მოთხოვნები გააკეთონ. ეს ხდება ისეთი მონაცემების მიწოდებით, რომლებიც ადვილად იკითხება საძიებო სისტემებისთვის.

    XML პროტოკოლის ზოგადი აღიარება ნიშნავს, რომ ვებსაიტების დეველოპერებს აღარ სჭირდებათ სხვადასხვა ტიპის საიტის რუქების შექმნა სხვადასხვა საძიებო სისტემებისთვის. მათ შეუძლიათ შექმნან ერთი ფაილი ხედისთვის და შემდეგ განაახლონ იგი, როდესაც განახორციელებენ ცვლილებებს საიტზე. ეს ამარტივებს თქვენი ვებსაიტის დაზუსტებისა და გაფართოების მთელ პროცესს. თავად ვებმასტერებმა დაიწყეს ამ ფორმატის გამოყენების უპირატესობების დანახვა. საძიებო სისტემები აფასებენ გვერდებს კონკრეტული საკვანძო სიტყვების შინაარსის შესაბამისობის მიხედვით, მაგრამ XML ფორმატამდე ხშირად გვერდების შინაარსი სწორად არ იყო წარმოდგენილი. ეს ხშირად იმედგაცრუებულია ვებ მასტერებისთვის, რომლებიც აცნობიერებენ, რომ მათი მცდელობები ვებსაიტის შესაქმნელად შეუმჩნეველი დარჩა. ბლოგებს, დამატებით გვერდებს, მულტიმედიური ფაილების დამატებას რამდენიმე საათი სჭირდება. XML ფაილის საშუალებით ეს საათები არ დაიხარჯება, მათ ყველა ცნობილი საძიებო სისტემა ნახავს.

    იმისათვის, რომ შექმნათ თქვენი XML საიტის რუკა და განაახლოთ საძიებო სისტემები თქვენს საიტზე განხორციელებული ცვლილებების შესახებ, სცადეთ ჩვენი უფასო საიტის რუქების გენერატორი.



    რაიმე შეკითხვა?

    შეატყობინეთ შეცდომას

    ტექსტი, რომელიც გაეგზავნება ჩვენს რედაქტორებს: