Доброго времени суток, уважаемые читатели блога Moi-tarakany.ru !
Сегодня я хочу рассказать о такой нужной вещи как невидимые страницы WordPress. Некоторые могут удивиться: «зачем делать страницы, которые никто не увидит?». Не поверите, но и у меня в блоге есть такие. Открою секрет — на самом деле невидимыми они остаются лишь до поры до времени.
Примеров невидимых страниц у меня в блоге несколько. Первая — это страница с результатами поиска по сайту от Яндекс. Её в меню нету, она станет «видимой» только после того как вы введёте в форму слово и нажмёте иконку с лупой.
Вторая такая страница появляется после отправки посетителем первого комментария. Если вы ещё ничего не комментировали у меня в блоге, предлагаю вам дочитать статью до конца, оставить комментарий, и вы обязательно попадёте на такую страницу.
Теперь становится очевидной необходимость подобных страниц. Представьте себе в меню пункт «Результаты поиска» или «Ваш первый комментарий» — посетитель заходит на эту страницу и не понимает логики, которой пользовался автор при их создании.
Предназначений для таких страниц может быть множество, всё зависит от вашей фантазии и потребностей. Но давайте рассмотрим, каким образом это всё можно реализовать.
Прежде всего, вам нужно узнать ID страницы, которую вы хотите скрыть.
Как определить ID страницы?
ID (англ. data name, identifier — наименование данных) — это уникальный признак объекта (чаще всего порядковый номер). В информационных технологиях такой идентификатор применяется практически везде, только мы не всегда об этом знаем. В WordPress каждая страница, каждая запись, каждая рубрика имеет свой номер. Определить его можно несколькими способами:
Способ №1.
Заходим в админку. Открываем список всех страниц. Открываем нужную страничку для редактирования и смотрим на URL открытой страницы.
Он должен иметь примерно такой вид:
http://vashsite.ru/wp-admin/post.php?post=1466&action=edit
Так вот 1466 в урле — это и есть ID страницы.
В большинстве браузеров чтобы увидеть URL не обязательно переходить по ссылке, достаточно просто навести на неё курсор и её адрес должен подсветиться в панели состояния (в разных браузерах эта панель может называться по разному).
Способ №2.
Если вам в работе будет нужно часто определять ID страницы, советую установить плагин WP Show IDs. После установки плагина ID всех записей и статей можно увидеть в админке напротив их названий.
Как удалить страницу из меню?
Теперь, когда мы знаем ID страницы, мы можем запретить её отображение в меню.
Для этого конектимся по FTP с нашим сервером, открываем папку с нашей темой (ftp://vash_site.ru/public_html/wp-content/themes/vasha_tema/), открываем файл, в котором формируется меню, в моём случае это header.php. Меню здесь выводится таким кодом:
<?php
wp_list_pages('title_li=&depth=2&sort_column=menu_order');
?>
Вставляем в код в скобках такой кусочек: exclude=vash_id, отделив его знаком & и естественно заменив vash_id на ID нужной страницы. Должно получиться примерно так:
<?php
wp_list_pages('title_li=&depth=2&exclude=1433&sort_column=menu_order');
?>
Если вам нужно спрятать больше одной страницы допишите их айди через запятую: &exclude=17,58,44&
Редакция 07.03.2012.
На днях сменил шаблон блога. После смены не мог найти код wp_list_pages. Начал искать альтернативные решения. Сразу же нашёл несколько вариантов:
- Установить плагин Exclude Pages. Плагин устанавливает в меню редактирования виджет. Чтобы страничка отображалась в меню, нужно установить галочку.
- Если ваш шаблон написан для WordPress v.3.0 и выше в нём предусмотрена возможность вывода «Произвольного меню». В него можно добавить всё что угодно: страницы, рубрики, ссылки. Но теперь нужно ручками добавлять или исключать пункт, который бы вы хотели видеть в меню.
- И наконец я нашел
wp_list_pages. Он спрятался в файле functions.php. Но поскольку моя тема имела аж два «произвольных» меню, этот код мне больше не понадобился.


Надеюсь, мои старания не прошли даром и вам понравилась статья.
Если хотите первым узнавать о новых статьях в блоге Moi-tarakany, советую подписаться на обновления по RSS или по почте!
Также Вы можете следить за моим щебетом в Твиттере.
Буду благодарен если поможете наполнить блог комментариями, для вашего удобства ссылки в комментариях свободны от NoFollow.
С уважением, Мышак Пётр.








Спасибо за инфомацию. Вы не поверите, недавно сама исала способ определить ID.
уж как-то замудрено.
не проще ли:
1. поставить плагин All in Seo, либо Platinum SEO (мне нравится последний) и выставить галочку наротив canonical;
2. в файле robots.txt прописать правила
К слову: на этом сайте robots.txt построен не правильно. Сайт на WP. Гляньте сайты популярных сеошников, блоги которых на WP. Почерпните лучшее и скорректируйте свой роботс под себя. В помощь панель вебмастера Yandex и Google (у Y это: Настройки индексирования -> Анализ robots.txt; у Google это: Конфигурация сайта -> Доступ сканера)
Twitter: mojwp
Если вы имеете в виду All in One SEO Pack то я им пользуюсь. Но как при помоши этого плагина можно запретить отображение страницы в меню мне не понятно. Помоему плагин совершенно для других целей.
Twitter: petruxa180
)))
это не в меню
в robots.txt добавьте
Disallow:/rezultaty-poiska*
Disallow:/comment-page*
и опять же — robots настроен не правильно
Twitter: mojwp
Да, действительно, упустил из виду, спасибо.
Twitter: petruxa180
да и по коду сайта есть нарекания.
почитайте статьи об оптимизации WP
к примеру, одна из статей webmasters.ru/forum/f10/o...kovodstvo-18111/
остальное ищи те в инете
Twitter: mojwp
Мануал, в принципе, неплохой. Но ничего нового из него не почерпнул. Что конкретно Вы имеете в виду, по поводу кода?
Twitter: petruxa180
По результатам проверки онлайн сервисом http://seonuf.com/ , блог оптимизирован отлично.
Twitter: petruxa180
Почему темный свет дизайна, маленько читать неудобно. Этот шаблон и свеьлый был бы, вот красота была бы.
У меня тоже был бог на WordPress. Не знала про невидимые страницы. Что-то я его забросила давно, хотя начала с энтузиазмом. А вот сейчас почитала статейку и думаю может сделать еще раз блог себе...)))
Интересно, а невидимые РУБРИКИ без плагинов возможно делать?
Twitter: NadobnyhEgor
Интересно, зачем делать невидимые рубрики?
Попробуй найти такой код в своем sidebar.php
<?php wp_list_categories('title_li=0&categorize=0&number=NULL'); ?>и таким же макаром запретить ID нужной рубрики.
Twitter: petruxa180
У меня не получилась.
Здесь нужно быть предельно осторожным, любой лишний знак и может выйти что-то не предсказуемое.
Twitter: petruxa180
Попробуйте прлагин Exclude Pages.
Twitter: petruxa180
А можно еще проще.
В редакторе страницы, в виджете «Опубликовать» поставить «Видимость» — «Личное». И страница не будет отображаться в меню.
Twitter: aleksens777