Маніпуляція вибором WordPress SEO відкритого зображення графіка
- Відкрийте ієрархію зображень графіка в WordPress SEO
- Розширення WordPress SEO Відкрити графік для зображень
- Різні розміри для зображень Facebook
- Вимкнути відкритий графік для зображень із вмісту
- Виключити окремі зображення з тегів Open Graph
- Додавання цього до WordPress SEO
Нещодавно я вирішив, що Facebook надає правильні розміри зображень для розміщення ескізів повідомлень через Open Graph у WordPress, тому не вибирає інший з вмісту. Це було зроблено за допомогою відомого плагіна WordPress SEO від Yoast . На жаль, немає жодних варіантів, щоб це спричинити безпосередньо в WordPress SEO. Але завдяки фільтрам легко налаштувати створені Open Graphs за допомогою декількох рядків коду. У цій статті я покажу деякі корисні приклади.
Примітка: Я перевірив це на WordPress 3.6.1 з WordPress SEO 1.4.18.
Розробники, можливо, захочуть заглянути в файл WordPress SEO plugins frontend / class-opengraph.php, щоб знайти 2 функції, які контролюють те, що і як створюються теги Open Graph для зображень.
Оновити :
Плагін Yoast SEO помітно змінився після того, як я написав цей підручник, і його частини вже не працюють належним чином. Тобто я зрозумів, що використання фільтру wpseo _pre _analysis _post _content, як тут пропонується, порушує показник SEO.
Оновлення 2:
Компанія Yoast оголосила, що фільтр wpseo _pre _analysis _post _content буде повністю видалено 2 листопада 2015 року.
Параметри відкритого графіка WordPress SEO - візьміть його або залиште.
Відкрийте ієрархію зображень графіка в WordPress SEO
WordPress SEO від Yoast є нашим кращим рішенням SEO для WordPress. Плагін також додає дані Open Graph для Facebook. На жаль, для цих даних немає тонкого налаштування, і ви все в порядку з усім, що він робить, або ви не є. Дозвольте мені пояснити, як WordPress SEO створює теги Open Graph для зображень і як ви можете впливати на перераховані зображення і розмір зображення лише з кількома рядками коду.
WordPress SEO включає відкриті теги графів для зображень у такому порядку:
Для головної сторінки:
- титульна сторінка зображення, яку ви вкажете в опціях SEO WordPress.
Для окремих повідомлень і сторінок
- образоване зображення
- зображення в межах вмісту
Якщо досі не знайдено жодного зображення, використовується зображення за промовчанням, вказане на опціях SEO WordPress.
Розширення WordPress SEO Відкрити графік для зображень
Розробники WordPress SEO використовували деякі фільтри при створенні тегів Open Graph для зображень, що дозволяє іншим розробникам налаштовувати його для своїх потреб. Я не збираюся фільтри в WordPress тут, але просто хочете дати корисний приклад того, що ви можете зробити з фільтрами, доступними в даний час в WordPress SEO.
Різні розміри для зображень Facebook
Перш ніж самостійно кодувати ці рішення, я зробив деякі дослідження про те, як інші вирішують це. Я не знайшов цю інформацію в будь-якому місці, але багато відкритих запитань про те, як можна вибрати інший розмір для повідомлень, зображених на зображенні, використаному на сторінці. Існує дві причини, чому Facebook вибирає інший, ніж образоване зображення посади, щоб викликати її в тимчасовій лінії. По-перше, розмір менше 600px ширини, а по-друге, співвідношення не перевищує 1,91: 1. Отже, щоб виправити неправильні зображення в графіках Facebook, спочатку ви можете створити цей конкретний розмір зображення add_image_size () .
Щоб створити розмір зображення, що відповідає стандарту Facebook, скопіюйте наступний код у ваші функції functions.php.
if (function_exists ('add_image_size')) {add_image_size ('facebook', 600, 315); }
Дві речі ви повинні мати на увазі при використанні add_image_size ().
- Додавання "true" або "false" як четвертий атрибут обрізає зображення у потрібний розмір. Якщо нехай порожній або встановлено в false, зображення буде змінено, щоб він містився принаймні в одному з показників.
- Новий розмір зображення не створюється автоматично для старих зображень. Потрібно регенерувати їх за допомогою плагіна Відновлення ескізів .
Розмір зображення за замовчуванням, використовуваний плагіном SEO Yoast, є "великим". У стандартній установці WordPress створюється "велике" зображення з максимальною шириною 1024 пікселя. Фільтр, який можна використовувати для встановлення іншого розміру зображення в WordPress SEO - це wpseo_opengraph_image_size . Просто поставте наступні рядки до функцій.php поточної теми, щоб прив'язати Відкритий графік до розміру "facebook", який ми створили вище.
add_filter ('wpseo_opengraph_image_size', 'mysite_opengraph_image_size'); функція mysite_opengraph_image_size ($ val) {return 'facebook'; }
Цей фільтр працює тільки для зображень у WordPress. Знімки, зроблені з вмісту, не змінюються, оскільки тут використовується розмір зображення, вказаний при включенні зображення в поле вмісту.
Вимкнути відкритий графік для зображень із вмісту
У мене є багато прикладів для поганих зображень зсередини змісту, які автоматично з'являються як поштове зображення на Facebook. Фільтр wpseo_pre_analysis_post_content дозволяє вимкнути це за допомогою простого трюку. Фільтр використовується на вмісті повідомлень, які згодом виконують пошук зображень. Ми просто видаляємо контент, тому зображення не знайдено.
Додайте наступний код до функцій .php.
add_filter ('wpseo_pre_analysis_post_content', 'mysite_opengraph_content'); функція mysite_opengraph_content ($ val) {return ''; }
ОНОВЛЕННЯ: Існує недолік цієї функції. Оскільки фільтр також використовується при підготовці контенту для SEO аналізу повідомлення, він не зможе зробити це при поверненні порожнього. JoseV вказали на рішення, щоб принаймні зберегти деякі з функціональних можливостей, лише знявши теги зображень із вмісту. Це лінія, яку я б використав тут.
return preg_replace ("/ <img [^>] +> / i", "", $ val);
Навіть якщо ваші образовані зображення виглядають непогано на Facebook, слід розглянути можливість використання цього фільтра. На сторінках без кешу вміст фільтрується з кожним завантаженням сторінок, що може вважатися гріхом виконання.
Виключити окремі зображення з тегів Open Graph
Останній фільтр wpseo_opengraph_image використовується на кожному з зображень у формі їх URL-адреси. Ви можете використовувати це, щоб виключити певні зображення. У цьому прикладі я дозволяю тільки зображення, які мають точно мою 'facebook' ширину 600 пікселів. Я зупиняюся на цьому, перевіряючи рядок '-600x' у вихідному URL-адресі зображень.
add_filter ('wpseo_opengraph_image', 'mysite_opengraph_single_image_filter'); Функція mysite_opengraph_single_image_filter ($ val) {if (preg_match ('/ - 600x /', $ val)) повертає $ val; }
Більш досконалим використанням цього фільтра може бути використання іншого розміру зображення для зображень із вмісту. Це потребує більшої маніпуляції рядками і дуже специфічне для вашого випадку використання, тому я пропускаю приклад тут.
Зверніть увагу, що навіть якщо ви не створюєте відкритий графік для зображення, Facebook все одно може вибрати його з вашого веб-сайту. Я не впевнений, наскільки Open Graphs дійсно впливають на вибір "правильного" зображення на Facebook. Найкраще забезпечити достатньо велике зображення для кожної публікації.
Додавання цього до WordPress SEO
Аналізуючи тільки цю проблему і кілька рядків WordPress SEO, я зрозумів, наскільки легко плагін Yoast може бути оновлений, щоб мати деякі з особливостей, які я згадував вище. Мені пощастило зустріти члена команди плагінів WordCamp Europe 2013 і може статися так, що ми додамо їх разом у майбутньому випуску. До тих пір ви можете спробувати деякі фрагменти коду згори.