Указанный вами код - пример навигации по статье. Ничего прятать не нужно, да и в случае с Google, не факт, что возможно.
В вашем случае, нужно лишь немного лучше оформить код навигации.
Для ссылок на секции используйте тег <nav>, например:
<nav> <ul class="nav-list"> <li class="nav-item"> <a href="#section-1">Параграф первый (кстати, <li> не обязательно закрывать)</a> </ul></nav>
Отделяйте секции друг от друга тегом <section>:
<section id="section-1"> <h1 class="heading-medium">Для секции отсчет номер заголовка начинается с 1, нету смысла писать <h2> и так далее. Таковы стандарты.</h1> <p><p>, кстати, тоже не обязательно закрывать.</section>
Тоже было такое дело. Отправил запрос на удаление аккаунта. Через пару дней, "Удалено по желанию владельца". С тех пор письма от них не получал.
jQuery.get(window.location) чтобы получить обновленную страницу.
В success передаете jQuery.parseHTML(response.data) в вашу функцию, которая выполняет клики. Это нужно делать в цикле. Первую итерацию вы запускаете вручную, передав $(html).
Вашу функцию же, нужно немного модифицировать. Она должна не кликать по кнопкам, а получать идентификатор этой кнопки и передавать его в функцию, которая зарегистрирована, как обработчик. Например, deleteById.
Лично у меня, выдача по site:/& пустая, а по /site:/ есть все страницы. Даже те, которые добавлены пару минут назад.
Сделать preload через AJAX проще, чем интегрировать комментарии с форумом.
Заголовки h1-h6 тоже являются частью статьи. Логичнее, что они лучше описывают содержимое секции или страницы, чем просто выделение слова жирным шрифтом. А если это прекрасно делают заголовки, зачем ухудшать читабельность тегом strong?
Да хоть в бинарном режиме. Но вы сами задали речь о сложности. Я говорю, что это просто. Касательно нагрузок, можно экспортировать результат в memcached или файл. И генерировать новые объекты по событиями CMS или при первом запросе.
find('iframe[src^=https://www.youtube.com/embed/]').outerHTML = '<amp-video...'. Написано за 15 секунд. А вы за сколько напишите регулярное выражение для youtube embed с учетом всех возможных атрибутов?
Перед первым while создаете массив ID.
$relative_id_list = [];
Внутри блока while добавляете array_push($relative_id_list, $post->ID).
После блока while делаете var_dump($relative_id_list). Если все сделали правильно, при перезагрузке страницы, под блоком похожих публикаций увидите список их идентификаторов.
Дальше, нужно исключить эти идентификаторы с запроса публикаций из категории. Модифицируем второй WP_Query добавляя 'post__not_in' => $relative_id_list.
Я очень надеюсь, что мой совет вам помог. Если вы столкнулись с какими-то проблемами во время реализации, дайте знать.
Подключаете HTML-парсер, скажем SimpleHTMLDOM.php. Передаете оригинальный HTML-код статьи в конструктор нового объекта. В одну строчку заменяете все img на amp-img $dom->find('img')->tag = 'amp-img'. Выводите обработанное содержимое через $dom->save(). Работает в любой CMS.
Это динамический метод генерирования содержимого. В будущем, можно подключить memcached или кеширование в файлы.
У вас есть такой опыт.