Где хранить favicon - в какой папке?

9 янв. 2012 г., 14:56:53
Просмотры: 15.5K
Голосов: 8

Этот вопрос не столько технический, сколько "идеологический" - где в WordPress правильно хранить favicon? Должен ли он находиться в корне (где лежит wp-config.php) ИЛИ его нужно помещать в папку текущей темы? Или нужно хранить две копии (чего я не хочу делать)? Я понимаю, что оба варианта будут работать и не вызовут ошибок, но хотелось бы узнать более правильный/семантически верный способ.

0
Все ответы на вопрос 4
2

Я бы хранил favicon в папке темы только в том случае, если ожидал, что он будет меняться при смене темы. Но я так не считаю.

Favicon — это часть общей идентификации сайта, а не функция CMS. Что, если вы используете не-WP софт для разных частей сайта — например, фотогалерею, форум или вики (или всё сразу)?

Разместите favicon в корне сайта, и все программные компоненты смогут его использовать, обычно автоматически (хотя, возможно, придётся удалить жёстко прописанные LINK из отдельных тем).


(Уточнение) Для ясности: если LINK не указан, все современные браузеры (кроме Seamonkey, хотя там есть опция для включения этой функции) автоматически ищут favicon в корневой директории, т.е. example.com/favicon.ico. Так что нет причин добавлять элемент LINK, и есть веские причины этого не делать.

Более того, если элемент LINK содержит ошибку (например, опечатку) или файл по указанному пути повреждён или в неподдерживаемом формате, браузер всё равно будет искать /favicon.ico, так что отсутствие файла там приведёт к ошибкам 404 в ваших логах.

Единственный случай, когда LINK уместен — это если вы хотите использовать разные favicon для разных страниц сайта.

9 янв. 2012 г. 17:12:33
Комментарии

Более чем 2/3 профессиональных веб-сайтов указывают ссылку на favicon. Выполните view -> source на некоторых из ваших любимых сайтов. Вы думаете, они все делают это неправильно?

User User
10 окт. 2012 г. 22:26:29

"Вы думаете, они все делают это неправильно?" Прочитайте мой ответ выше, и вы точно узнаете, что я думаю. Иногда есть веские причины, по которым favicon не может находиться в корневом каталоге (я привел одну из них в своем ответе, но есть и другие). Но если у вас нет веской причины перемещать favicon и включать элемент LINK, то зачем вам это делать? Потому что все так делают? Есть ли у профессиональных сайтов, которые вы изучили, ПРИЧИНА делать именно так? А у вас?

Doug Doug
10 окт. 2012 г. 23:30:19
0

Он всегда должен находиться в корневой папке, тогда он будет работать, независимо от того, ссылаетесь ли вы на него явно или нет.

Вы также можете использовать эту функцию в файле functions.php вашей темы для явного указания ссылки на него:

function my_favicon() {
    echo '<link rel="shortcut icon" href="' . get_bloginfo('wpurl') . '/favicon.ico" />';    
}
add_action('wp_head', 'my_favicon');
9 янв. 2012 г. 15:11:38
2

Несмотря на наличие качественных ответов здесь, я хотел бы добавить свои два цента с другой точки зрения. Я управляю множеством блогов и сайтов в среде WordPress MultiSite, где корневая директория не является вариантом. В таких случаях лучше всего размещать фавиконы в директории темы, как рекомендует WordPress Codex.

24 янв. 2012 г. 04:55:49
Комментарии

Как рекомендует "кодекс", ты имеешь в виду. Кодекс — это вики, которую может редактировать сообщество. Не стоит воспринимать всё там как истину в последней инстанции. ;) Я предпочитаю создавать собственный плагин для фавиконов под каждый сайт. Но мне вообще нравятся плагины.

Otto Otto
24 янв. 2012 г. 08:00:25

Отличное замечание, @Otto, я исправил свой ответ, чтобы он был понятнее. Спасибо за уточнение.

Matthew Boynes Matthew Boynes
24 янв. 2012 г. 16:19:36
0

Фавикон не является динамическим и не "конфликтует" с чем-либо другим, учитывая это, я вручную прописываю его в header.php и на этом заканчиваю.

9 янв. 2012 г. 17:49:47