- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу

Маркетинг для шоколадной фабрики. На 34% выше средний чек
Через устранение узких мест
Оксана Мамчуева
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
Здравствуйте, уважаемые форумчане. Имеется музыкальный сайт, написанный полностью с использованием аякс технологии. Как известно аякс приложения не индексируются поисковыми системами, так-как боты попросту не умеют исполнять js код(или вроде того). Однако для музыкального сайта Очень Важно быть в индексе поисковика. Как-же иначе привлечь посетителей) Можно конечно рекламой, но и с поисковиках тоже надо присутствовать.К счастью гугл может работать с аякс сайтом, если он написан в соответствии с определенными правилами. Эти правила написаны тут: https://developers.google.com/webmasters/ajax-crawling/docs/getting-started
Все на энглише. в кратце суть такова - все ссылки аякс сайта должны работать через хэшбэнги. Это символы вида #! или типа того. Техническая часть очень длинна и так просто не объясняется. Хешбэнги преобразуются гугл ботом. например такой запрос:
www.example.com/ajax.html#!key=value
переделывается в
www.example.com/ajax.html?_escaped_fragment_=key=value
На стороне сайта по адресу
www.example.com/ajax.html?_escaped_fragment_=key=value
должна лежать версия странички без аякса, то есть просто с данными.
Это я на муз сайте сделал, кому интересно - перейдите по ссылке:http://aftamat4ik.ru/?_escaped_fragment_=
Нормальная версия сайта выглядит так: http://aftamat4ik.ru
Так-же если вы не хотите чтобы в адресе прописывался хеш тег вот так: www.example.com/#!/ - это главная страница, то н текст страницы надо добавить следующий мета тег:
<meta name="fragment" content="!">
это укажет гугл боту, что главная страница сайта в статическом варианте находится по адресу:
www.example.com/ajax.html?_escaped_fragment_=
Этот тег у меня добавлен! можете посмотреть в исходном коде страницы, если не верите. Тогда Почему! почему гугл бот вместо того чтобы сканировать адрес http://aftamat4ik.ru/?_escaped_fragment_=
сканирует и помещает в поисковик это:http://aftamat4ik.ru
есть такой инструмент - гугл вебмастер. так вот он как-раз и показывает мне страницу по прямому адресу, а не по _escaped_fragment_=
могу даже код привести.
вот как на главной странице:
вот как на статичной версии:
Вы все это можете увидеть сами, если сравните исходный код. Теперь я сканирую страницу гугл ботом - там есть опция просмотреть как гуглбот.
вот что выдает гугл:
Вопрос! Какого?! о_0 там же тег добавлен в начале
<meta name="fragment" content="!">
Почему поисковик не сканирует то, что должен? Или гугл не всегда делает так, как в документации написано? Для всех остальных страниц все сканируется правильно. Например страница по урлу: http://aftamat4ik.ru/#!authorname=ГРОТ переадресовывает бота по верному адресу, и в тегах <div id="main"> гугл бот видит то что надо.
Что странно. Вроде бы все правильно, вроде все нормально.
вот хтакесс переадресация,если передают гет параметр _escaped_fragment_=:
RewriteCond %{QUERY_STRING} ^_escaped_fragment_=(.*)$
RewriteRule ^(.*)$ /noajax.php?%1 [NC,L]
тут тоже вроде все нормально...
Кто встречался с похожей проблемой, или делал свои сайты на аякс, помогите пожалуйста советом.
noajax.php?$1 а не %
И что это еще такое:
<img src='/audio/ГРОТ/Вершители судеб (2010)/album-art.jpg'></img>
просто <img src='/audio/ГРОТ/Вершители судеб (2010)/album-art.jpg' />
упс, опечаточка....)
Не имеет разницы) Картинки показывает же)) привык я так писать)
- не не помогло, к сожалению...
<meta name="fragment" content="!">
не вижу этого метатега :(
почему гугл бот вместо того чтобы сканировать адрес http://aftamat4ik.ru/?_escaped_fragment_=
сканирует и помещает в поисковик это:http://aftamat4ik.ru
Если Гугл найдёт #!hash то сканирует с ?_escaped_fragment_=hash
но в выдаче будет с #!hash
А у Яндекса с ?_escaped_fragment_=hash
т.е. с Я и G придут к вам по разным урлам. И это надо правильно обработать... возможно на клиенте.
Как известно аякс приложения не индексируются поисковыми системами, так-как боты попросту не умеют исполнять js код
На это не следует надеяться. В robots.txt надо указывать явно — чего можно, а чего нет. А то иногда получается смешно...
Вообще, #!это гуглоиды придумали зря, так можно создать дубли тем, кто про#!это всё просто не думает.
А если вы #!такой индексации хотите, то думайте об элементарной понятности искателю/посетителю... результатов такой индексации.
богоносец, Так то да, вы правы конечно. но вся выгода моего положения в том, что Яндекс бот никогда в жизни не отправит моей главной странице запрос вида http://aftamat4ik.ru/?_escaped_fragment_=authorname=%D0%93%D0%A0%D0%9E%D0%A2, так-как он просто не увидит на главной странице никаких ссылок и элементов. все эти элементы добавляются динамически, а значит для бота яндекса их не существует. у меня яндекс ток 2 страницы проиндексировал, и то из них 1 не найдена, а 2- это главная собственно. Так что не стоит заморачиваться.
Я понимаю что ссылки такого вида:
/author/Грот/album/На ковре из цветов
Кончено смотрятся кошернее.
Да , можно создать в htacess правило на чпу. Но это ничего не изменит.
Все равно при переходе по красивому урл элементы будут загружаться аяксом. То есть что хеши, что без хешей, результат один и тот-же.
И к стати урл вида /#!authorname=ГРОТ понятнее чем /authorname/Грот. ибо в моем случае понятно что передается переменная authorname и ее значение. А во втором случае - пользоватедь считает что в папке /authorname/ лежит подпапка Грот, и имя это автора, или какая-то левая папка ему не понятно.
---------- Добавлено 03.07.2012 в 18:02 ----------
не вижу этого метатега
aftamat4ik.ru смотри на главной в блоке <head> в самом верху
---------- Добавлено 03.07.2012 в 19:32 ----------
Может есть какие-то еще пути сделать аякс приложение(сайт) индексируемым? Для справки: я сделал на своем сайте аякс переходы ,потому-что при переходах со страницы на страницу музыка, воспроизводимая в плейлисте пользователя должна играть без перебоев. Может как-то это можно обойти? вроде под интернет эксплорер даже тег какой-то есть...
aftamat4ik.ru смотри на главной в блоке <head> в самом верху
В кэше пока нет. Подождите.
И разве в хелпе говорили делать <meta name="fragment" content="!"> для внутренних?
Некоторые из ваших страниц могут не иметь хэш-фрагментов. Например, для главной страницы лучше использовать адрес www.example.com, а не www.example.com#!home. Исходя из этого, предусмотрено специальное решение для страниц без хэш-фрагментов.
Чтобы проиндексировать эти страницы без хэш-фрагментов, нужно включить в HTML-заголовок страницы специальный метатег...
Обратите внимание на одно важное ограничение, касающееся данного метатега: его единственным допустимым значением является "!". Иными словами, метатег будет всегда иметь точно такой вид: <meta name="fragment" content="!">, что указывает на пустой хэш-фрагмент, но не страницу с содержанием AJAX.
И <title> у вас нету по /?_escaped_fragment_=find=Q
Когда увидите результат индексации... всё придётся переделать.
он просто не увидит на главной странице никаких ссылок и элементов
Всё увидит <a class='link' href='#!authorname=ГРОТ'>ГРОТ</a>
И готовьтесь к проблемам типа http://aftamat4ik.ru/#!ajax-Govno т.е. значения параметра _escaped_fragment_ надо проверять и если оно не является допустимым, то отвечать 301 например, а у вас 200 Ок. А как проверять, если урлов аж 1186 штук?
title для find у меня прописаны внутри самой ссылки: echo "<li><a class='link' href='/#!find=".$uc."' title='Поиск исполнителей по букве ".$uc."'>".$uc."</a></li>";
и в самом файле, выводящем список найденных исполнителей тоже стоит
echo "<title>Найти по букве $link</title>";
У меня тег титле внутри каждого файла отдельно прописывается.
а у меня и так для внутренних)
Елы палы, я писал этот сайт) Раз сказал что не будет - то не будет он их видеть. Дело в том что пресловутое <a class='link' href='#!authorname=ГРОТ'>ГРОТ</a> добавляется методом append в jquery)) Если бот не выполняет джаваскрипт, значит на месте ссылки - пустое пространство. На главной странице у меня везде почти пусто(алфавитный указатель тока ,разве что). Все содержимое грузится через аякс и потом вставляется через $.append(). так что яндекс со мной даже близко не дружил)
таак, надо подумать) По сути переменных всего ок 7 штук, это авторнаме, финд, автор, альбом, и еще несколько. Поэтому проверку не сложно замутить. спс за замечание)
---------- Добавлено 04.07.2012 в 01:05 ----------
http://aftamat4ik.ru/?_escaped_fragment_=ajax-Govno
Выводится главная страница, так как все параметры пусты, с чем я себя и поздравляю. вроде все нормально, или нет?)
И аякс не говно, а вынужденная мера. если бы можно было без него обойтись - сидел бы я тут... Так что если никогда не писали подобного уровня проектов - нечего встревать. Неужели логики не хватило догадаться для чего я использовал аякс? я вроде это где-то выше писал, или нет?
Не посвященным - для муз. сайта это очень важно, особенно в моем случае. так что от аякса я не откажусь будь это хоть кислота...
по делу есть какие-нить советы то? если нет, то я откланиваюсь. Время только потратил... Написал в сапорт гугл аналистика корявым энглишем, надеюсь прояснят ситуацию.
вот вам 301 редирект - перейдите по ссылке)
http://aftamat4ik.ru/?_escaped_fragment_=qwe
как сделал? ну мало ли может поможет кому:
Сойдет?) $_GET - это ассоциативный массив, поэтому если мы не знаем какие параметры поступают - просто узнаем его размер. Если значения всех переменных, которые теоретически могли прийти $_GET равны пустой строке - то гет запрос, переданный странице не верен.
Так подойдет? хД
______________________________
У иных миров не просить ответа. Дай родиться вновь - отпусти меня.....
Матричный бог решает все....
---------- Добавлено 04.07.2012 в 10:01 ----------
К стати как избавиться вот от этого:
(тега титле там нету - есть только тег дескрипшн, я его недавно добавил не успел еще проиндексировацо)
_________________________________________________________
Если в хтакесс правило прописать - то сайт попросту пересанет получать список песен через поиск - не катит.
Если в роботс прописать дисаллов - то я не знаю что будет))
Может стоит таки прописать?
http://aftamat4ik.ru/?_escaped_fragment_=ajax-Govno
Выводится главная страница, так как все параметры пусты, с чем я себя и поздравляю. вроде все нормально, или нет?)
А завтра таких главных в индексе будет 100500 со случайными параметрами. Это и есть дубли. Ответ у вас 200 ОК на всё такое.
По /?_escaped_fragment_=qwe ответ 200
<a class='link' href='#!authorname=ГРОТ'>ГРОТ</a> добавляется методом append в jquery)) Если бот не выполняет джаваскрипт
Ну зайдите с выключенными скриптами хоть на / хоть на /?_escaped_fragment_= и там <a class='link' href='#!authorname=ГРОТ'>ГРОТ</a>
Объяснять дальше смысла нет. Когда увидите в индексе, тогда и задумаетесь, может быть. И хелп перечитаете
и не будете предлагать боту этот метатег на страницах с #hash
К стати как избавиться вот от этого:
(тега титле там нету - есть только тег дескрипшн, я его недавно добавил не успел еще проиндексировацо)
А такого дальше будет больше. И нужно ли оно в выдаче? Понятно ли?
Теперь 301 - я там косякнул маленько, щас исправил...
Тепеоь надо чтобы для /?_escaped_fragment_=authorname=qwe
выдвало 301 редирект)
хД
читаем дельше:
<meta name="fragment" content="!">
This indicates to the crawler that it should crawl the ugly version of this URL. As per the above agreement, the crawler will temporarily map the pretty URL to the corresponding ugly URL. In other words, if you place <meta name="fragment" content="!"> into the page www.example.com, the crawler will temporarily map this URL to www.example.com?_escaped_fragment_= and will request this from your server.
Ду ю андэстэнд this?
Суть: там где прописан метатег <meta name="fragment" content="!">
Бот автоматически не индексирует страницу а переходит по адресу
адрес страницы+?_escaped_fragment_=
то есть если у меня на главной стоит метатег <meta name="fragment" content="!">
то бот должен сканировать aftamat4ik.ru/?_escaped_fragment_=
Но он не сканирует! Я в сапорт гугл вебмастера написал - жду ответа...
конечно не нужно хД Но как это убрать то?
echo "<noindex>"; чтоли прописать внутри файла? Будет толк? Не навредит ?
Нету там нигде # хешей вообще нету. Дляб ота главная страница выглядит так: aftamat4ik.ru и никаких там хешей нету вообще.
То что у меня в отделе breadcrumb ссылка Home выглядит так: href="/#" еще ничего не значит - это просто так - чтобы не перезагружать страницу во врема копания по ней пользователя.
Если написать туда типа href="/" или href="aftamat4ik.ru/", то при переключении страницу будет Перезагружать! Это не приемлемо вообще никаким образом. Хеш там был есть и будет до скончания денег на хостинге хДД
___________________________________
Пусты дороги свет и мгла,
Я не с тобой но я не враг.
Дай руку мне, дай мне огня,
Мятежный страннник...
http://aftamat4ik.ru/#!authorname=Catharsis