Как Да Създам Google Site Map (Карта За Google).

Blinky

Owner
Офицялно съобщение на 6-ти Юни 2005 Блога на Google, казва че Google Site Map позволява да прибавяте лист с вашите уеб адреси(urls) за Google да "пълзи".

Имаше много въпроси отнасяйки се за създаването на Google Site Map. Долу е "не-питония" начин на създаването му.

Първо, създайте файл с име sitemap.xml
Изпозвайте кода по-долу в HTML редактор:

<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.google.com/schemas/sitemap/0.84">
<url>
<loc>http://www.seoforgoogle.com/</loc>
<lastmod>2005-06-30T14:12:14+00:00</lastmod>
<changefreq>daily</changefreq>
<priority>1.0</priority>
</url>
<url>
<loc>http://www.seoforgoogle.com/glossary.cfm</loc>
<lastmod>2005-06-30T14:12:14+00:00</lastmod>
<changefreq>weekly</changefreq>
<priority>1.0</priority>
</url>
</urlset>

Ето и пропуск на тези кодове:



lastmod -
This is the date the document was last modified and uses the following formats:
dd.mm.yyyy
dd.mm.yyyy hh:mm
dd/mm/yyyy
dd/mm/yyyy hh:mm

changefreq -
Каьи на Google Sitemaps многократно, че съдържанието на индивидуален адрес се мени.

Опцийте са ви "винаги", "на час", "на ден", "на седмица", "на месец", "на година" или "никога".

Важността на "винаги" би трябвало да се използва за да описва докоменти, които се променят всеки път щом са леснодостижими. Вавността на "никога" би трябвало да се използва за да описва архивирани докоменти.

Периодично - приоритета на индивидуален уеб адрес свързан с други страници от вашият сайт. Може да избирате между 0.0 и 1.0, където 0.0 идентифицира "слабите" станица/и на сайта ви и 1.0 идентифицира "силните" станица/и на сайта ви.

Добавете толкова страници колкото са в сайта ви.

Google Sitemap подържа до 50,000 страници за един XML файл.

Веднъж щом сте завършили тези стъпки, трябва след това да прибавите страница за карта на сайта ви.


https://www.google.com/webmasters/sitemaps/login

-----------------------------------------------------------------------------
Search Engine Optimization Talk
-----------------------------------------------------------------
Internet Affiliate Marketing
 
И на мен ми изглеждаше сложно първият път като го видях 8) Има search engine optimization firms които искат по $25 на месец за да ви направят и подържат sitemap ....... :evil: :evil: смешници......... Иначе безплатния и лесен за ползване инструмент с които да си направите sitemap се казва phpSitemapNG
 
Мерси за допълнението coolice. да наистина има фирми , които печелят от хора, които ги мъзят да четат.А е важно да се спаряш с такива не толкова сложни неща сам, освен ако не ти пука за тези пари които ще дадеш.

Та има много печалбари, но най-добре е да се чете и преценява кои неща за изпълнение са по силите ти.А това определено е нещо за което поне можеш да се пробваш.
-----------------------------------------------------------------
Internet Affiliate Marketing
 
Някой друг инструмент , подобен на phpSitemapNG ще препоръчате ли ?
 
За тази цел ползвам скрипт на bash:
Код:
#!/bin/bash

my_top_url="http://electronics-circuits.freehostia.com/"

rm -f sitemap.xml

cat >> "sitemap.xml" << EOF 
<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://www.sitemaps.org/schemas/sitemap/0.9
         http://www.sitemaps.org/schemas/sitemap/0.9/sitemap.xsd"
         xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
EOF

cat >> "sitemap.xml" << EOF 
<url><loc>${my_top_url}</loc></url>
EOF

ls toupload --sort=size | grep "php$" | grep -v "index.php$" | while read this_file; do

cat >> "sitemap.xml" << EOF 
<url><loc>${my_top_url}${this_file}</loc></url>
EOF

done


cat >> "sitemap.xml" << EOF 
</urlset>
EOF

Този скрипт прави карта на сайта за http://electronics-circuits.freehostia.com/ като включва в него файловете с разширение „.php“, които се намират в директорията ./toupload и игнорира файла „index.php“.

Записва sitemap.xml в текущата директория.

Преди да го ползвате трябва да редактирате:
- toupload (директорията, където са файловете)
- http://electronics-circuits.freehostia.com/ (пишете адреса на своя сайт)
- grep "php$" | grep -v "index.php$" (ако сайта е изграден от .html файлове се заменя „.php“ с „.html“)

Ограничения:
- Прави карта само на страниците в главната директория

Идеята на такъв скрипт е да не се налага да добавям ръчно новосъздадените страници (разбира се страниците също ги създавам със скриптове (perl, bash) - въвеждам само съдържанието, задавам шаблони и т.н.).
 
За да може Google лесно да намери картата на сайта се пише файл robots.txt в главната директория (напр. http://electronics-circuits.freehostia.com/robots.txt):

Код:
Sitemap: http://electronics-circuits.freehostia.com/sitemap.xml

Забелязал съм, че на Blogger вместо карта на сайта са сложили RSS/Atom feed (сортиран по последно обновените страници!):

http://physics-fun-videos.blogspot.com/robots.txt
Код:
User-agent: Mediapartners-Google
Disallow: 

User-agent: *
Disallow: /search

Sitemap: http://physics-fun-videos.blogspot.com/feeds/posts/default?orderby=updated
 
Последно редактирано:
Подобрена версия на скрипта за създаване карта на сайта:
Код:
#!/bin/bash

my_top_url="http://electronics-circuits.freehostia.com/"
my_lastmod=$(date +"%Y-%m-%d")

urlencode_this_url() {
 perl -MURI::Escape -lne 'print uri_escape($_)'
}

my_urlencoded_url=$(echo "${my_top_url}/sitemap.xml" | urlencode_this_url)
my_google_request="http://www.google.com/webmasters/tools/ping?sitemap=${my_urlencoded_url}"


rm -f sitemap.xml

cat >> "sitemap.xml" << EOF 
<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://www.sitemaps.org/schemas/sitemap/0.9
         http://www.sitemaps.org/schemas/sitemap/0.9/sitemap.xsd"
         xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
EOF

cat >> "sitemap.xml" << EOF 
<url><loc>${my_top_url}</loc><lastmod>${my_lastmod}</lastmod></url>
EOF

ls toupload --sort=size | grep "php$" | grep -v "index.php$" | while read this_file; do

cat "toupload/$this_file" | grep -i "category is empty" > /dev/null
if [ $? != 0 ]; then

cat >> "sitemap.xml" << EOF
<url><loc>${my_top_url}${this_file}</loc><lastmod>${my_lastmod}</lastmod></url>
EOF

fi


done


cat >> "sitemap.xml" << EOF 
</urlset>
EOF


echo -ne "За да изпратите картата на сайта на Google, напишете в браузъра този адрес:\n$my_google_request\n"

Тази версия на скрипта създава url, който пишем в браузъра за да изпратим картата на Google (извършва се URL-кодиране на адреса):
http://www.google.com/support/webmasters/bin/answer.py?answer=34609

Пример:
Код:
www.google.com/webmasters/tools/ping?sitemap=http%3A%2F%2Fwww.yoursite.com%2Fsitemap.gz

Ако този скрипт срещне низ "category is empty" в някой файл, този файл няма да бъде добавен в картата на сайта.
 
ако сайта има 10-15 страници нужно ли е да слагам сайтмап? след като са линкнати една към друга ?
 
ако сайта има 10-15 страници нужно ли е да слагам сайтмап? след като са линкнати една към друга ?
Дан 100 страници има нужда от сайт мап, иначе за толкова малко няма. Аз правя ръчен - нова страница с линкове представляващи заглавията на страниците + описания към тях, само заради потребителите. :wink:
 
По принцип сайт мапа е измислен за да улесни за индексирането на големи динамични сайтове под 300 страници на много места ще ти кажат няма смисъл. От друга страна ние го ползваме за малки сайтове (които не са блогове)да уведомим Г че имаме ъпдеитнат контент ...
 
От: Как Да Създам Google Site Map (Карта За Google).

Прост скрипт на bash за създаване sitemap.xml на форум (phpBB):

make_forum_sitemap.bash
Код:
#!/bin/bash

if [ "$1" = "" ]; then
 echo "Не е уточнен адресът на форума."
 exit 1
else
 my_top_url="$1"
 echo "Адресът на форума е „$my_top_url“"
fi

if [ "$2" = "" ]; then
 echo "Не е уточнено къде ще се записва картата. Допускаме, че това е sitemap.xml в текущата директория."
 sitemap_xml="sitemap.xml"
else
 sitemap_xml="$2"
fi

echo "Картата ще се запише във файла $sitemap_xml"

if [ "$3" = "" ]; then
 echo "Не е уточен началния номер на съобщение. Допускаме, че това е номер 1."
 first_topic=1
else
 first_topic="$3"
fi

if [ "$4" = "" ]; then
 echo "Не е уточен началния номер на съобщение. Допускаме, че това е номер 10."
 last_topic=10
else
 last_topic="$4"
fi


rm -f "$sitemap_xml"

cat >> "$sitemap_xml" << EOF
<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://www.sitemaps.org/schemas/sitemap/0.9
         http://www.sitemaps.org/schemas/sitemap/0.9/sitemap.xsd"
         xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
EOF

cat >> "$sitemap_xml" << EOF
<url><loc>${my_top_url}</loc></url>
EOF

seq $first_topic $last_topic | while read cntr; do

cat >> "$sitemap_xml" << EOF
<url><loc>${my_top_url}viewtopic.php?t=${cntr}</loc></url>
EOF

done

cat >> "$sitemap_xml" << EOF
</urlset>
EOF

Примерно използване:
Код:
$ make_forum_sitemap.bash http://forum.nobsxxxhost.com/ sitemap.xml 1 133

Параметрите 1 и 133 са началния и крайния номер на тема (topic). Допускаме, че няма липсващи (изтрити) теми.

Примерна карта, генерирана по този начин, може да се види тук: http://forum.nobsxxxhost.com/sitemap.xml
 

Горе