Как изменить http заголовок last modified на PHP


Как вывести сайт в топ Google по нч запросам

Как видно на скриншоте, по данному нч запросу, за выход в топ, мне приходится соревноваться с самим собой.

как выйти в топ Google по нч запросам

как выйти в топ Google по нч запросам

Но даже не смотря на то, что мой самописный сайт, располагается на бесплатном хостинге,  и предназначен в основном для тестирования PHP скриптов, да и еще имеет несколько внешних ссылок на этот блог, все равно, является лидером по данному запросу.

Где логика? Спросите вы, и почему происходит именно так, а не как иначе?

Как вывести сайт в топ по нч запросам.

Хороший вопрос!

Попытаюсь на него ответить. :)

Самое интересное, заключается в том, что сайт который занимает топовое место, является отчасти донором, для этого блога, по некоторым смежным темам. Основной его контент, посвящен ОС Linux, и некоторым вопросам IT безопасности, да и прочим компьютерным фичам.

Но в большей степени я пользуюсь им для тестирования и отладки PHP скриптов, и прочих разработок. :)
Так сказать: для объективности восприятия некоторых вопросов сайтостроения и веб безопасности.

По большому счету, как лично мне видится, если перед веб разработчиком стоит задача создания сайта визитки, то в зависимости от сложности, и вопроса дальнейшего обслуживания сего веб ресурса, более предпочтительным будет, создание требуемого проекта используя именно свой MVC шаблон.
В общем, как всегда, одни мои знакомые обратились ко мне с просьбой, разработать для них «простой», но безопасный сайт визитку, так сказать: не очень торопясь. Несомненно, последнее условие меня очень бодрит. :)

Но, не всегда целесообразно использовать готовые фреймворки, которые состоят из сотен файлов, при разработке простого сайта визитки. Вот собственно по этому, я решил разработать свою MVC модель, для последующего использования уже готового решения.
Но создать MVC модель это одно, а сделать ее максимально безопасной, это уже совершенно другое, особенно когда времени для реализации поставленной задачи: увы, да ах! :)
Тут даже, особо то и далеко ходить не надо. Приведу простой пример.

Банальные уязвимости самописных сайтов.

В общем, на днях, совершенно случайно, я обнаружил один «относительно» серьезный самописный сайт, ну вы же знаете, что в нашем мире все относительно. :)

уязвимости самописных сайтов

Уязвимости самописных сайтов

В урле было отчетливо видно, что данные передаются методом GET, поэтому я решил проверить, на сколько корректно производится фильтрация принимаемых параметров. Все таки, уже достаточно давно стало «хорошим» правилом для разработчиков, использовать ЧПУ.
По всем правилам жанра, я решил проверить сайт на возможность XSS инъекции и изменил значения некоторых параметров в урле, с помощью небезызвестного alert(‘XSS’);
Скрипт отработал корректно, и выбросил меня на главную страницу.

Тогда я закодировал alert алгоритмом base64, и добавил вызов протокола data: data:text/html;base64,

data:text/html;base64,PHNjcmlwdD5hbGVydCgnSEFDSyBUTyBGVUNLISBYU1MnKTwvc2NyaXB0Pg==

Скрипт даже не заметил подвоха, и как результат, я выяснил, что еще один сайт написан криво, т. е. не соответствует всем правилам безопасности. Времени на дальнейшее тестирование у меня не было, поэтому я просто отправил письмо админу с указанием ошибки. 😉

К чему я вообще все это написал, в статье: Как вывести сайт в ТОП Google?

Да к тому, что там где все условия равны, выигрывает тот, кто использует не совсем стандартные алгоритмы, для реализации поставленных задач!

В качестве примера, можете еще раз посмотреть на первый скрин. :)

Что такое http заголовок  last modified

Что такое заголовки я писать не буду, т. к. в сети на эту тему, можно найти достаточно большой объем информации, и лишние дубли, как вы догадываетесь, мне совершенно ни к чему. :)
Last-Modified является заголовком, в котором указывается и передается клиенту, в том числе и поисковым ботам, дата последней модификации документа.
Заголовок Expires  сообщает ботам, когда будет следующее обновление страницы. Все просто и понятно. :)

В качестве эксперимента, я немного изменил вывод даты в заголовках Expires и Last-Modified тестируемого сайта, ну а результат работы скрипта виден на первой картинке.

Как изменить вывод даты в заголовках Expires и Last-Modified средствами PHP

Скажу честно: на самом деле очень просто!

Достаточно в Html код добавить:

<meta http-equiv="Last-Modified" content='<?php print "$Last_Modified" ?> GMT'>
<meta http-equiv="Expires" content='<?php print "$Expires" ?> GMT'>

После этого пишем простейший PHP скрипт, который будет с регулярным постоянством, изменять вывод времени в этих двух заголовках.
Вот пример скрипта:

$Last_Modified = @date ( 'D, d M Y H:i:00' , time () - 36000 );
$Expires = @date ( 'D, d M Y H:i:00' , time () + 36000 );

В данном случае, мы будет сообщать поисковому боту, что дата последней модификации документа (статьи) была 10 часов назад, а следующие изменения будут сделаны через 10 часов, от текушего времени 😉

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

P.S. Естественно, данная статья является просто примером того, что иногда, необходимо посмотреть на вещи под другим углом, и ни в коей мере не является прямым руководством к действию. На WordPress например, я бы не стал допускать подобные манипуляции.

А для того, чтобы вывести статью в ТОП поисковых систем, необходимо писать качественный и соответственно уникальный контент, объемом не менее 5000 символов, разбавляя его ключевыми словами, ну и конечно же не забывать про уникальность картинок. :)