Как мне сбалансировать страницы POST / GET PHP для доски объявлений базы данных с помощью SEO-ориентированного статического HTML? - PullRequest
1 голос
/ 25 сентября 2010

Заранее спасибо всем, кто может помочь с этим вопросом. Я создал базу данных на доске объявлений, используя HTML-формы, PHP и мой SQL. Сайт позволяет людям публиковать темы, а затем публиковать сообщения по каждой теме. Затем они могут проголосовать за или против каждого сообщения.

Сейчас я делаю все это на одной странице PHP и использую POST. Когда я использовал GET, каждый раз, когда я использовал кнопки «назад» и «вперед», он спрашивал, хочу ли я повторно отправить форму (очень раздражает). Я хочу защитить данные, поэтому я переключился на POST, но если кто-то нажимает обновить после голосования, он голосует второй раз. Как я могу это исправить? Разве «обновленная информация» тоже не должна обновляться?

Я также подумываю сделать так, чтобы начальная презентация страницы темы (которая появляется после того, как они нажимают на название темы из поиска) была представлена ​​через GET, используя для этого отдельную страницу PHP. Таким образом, URL для страницы темы может быть связан с (так как фактическая тема находится в URL, в отличие от страницы POST, где тема не находится в URL). Хотя, даже если я сделаю это, после того, как кто-то нажмет на голосование, итоговая страница будет идентичной, за исключением того, что в URL не будет содержаться тема (так как она через POST сейчас), и люди могут не осознавать, что могут ссылаться на нее совсем. Есть ли способ, что после голосования через опцию POST страница перенаправляется в версию GET?

Наконец, мой главный вопрос о SEO. Я хочу, чтобы тематические страницы были доступны для поиска в Google. Поэтому я думаю о том, чтобы PHP динамически генерировал статические HTML-страницы. Это единственный способ сделать это? Должны ли я сделать их на лету? Или просто все генерируется раз в день? Я полагаю, что когда люди голосуют "за" или "против" на сообщении на странице HTML, это приведет к загрузке соответствующей страницы PHP через POST. Но тогда напрашивается вопрос ... если я хочу опубликовать ссылку на определенную страницу темы (или если я настрою ее так, чтобы люди могли ссылаться на одну из Facebook, например), должна ли она иметь ссылку на статическую HTML-страницу или на URL, который создает его динамически с помощью GET с PHP? Или я должен использовать страницу HTML, но перенаправить ее на URL страницы GET? Или есть способ сделать так, чтобы URL-адреса страниц GET распознавались Google, и чтобы Google предоставлял ссылки непосредственно на них? Я думаю, нет, потому что они генерируются динамически каждый раз, в отличие от статического HTML. Имеет ли значение, если я размещу ссылки на страницу PHP, но Google направляет людей на HTML-версию статистики? Я чувствую, что для SEO лучше всего было бы поддерживать единообразие, чтобы все «хиты» складывались вместе.

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

Ответы [ 2 ]

0 голосов
/ 25 сентября 2010

Вот несколько вещей, на которые вы можете посмотреть:

Что касается обновления, вызывающего повторное голосование, вы можете исправить это несколькими способами.Некоторые люди будут использовать куки / переменные сессии.Другим методом будет просто установить другой флаг, значение по умолчанию которого равно 0, и увеличить его после POST.Если флаг равен 1 (обновлен), то не POST.

ИМХО не идите по пути экспорта статического HTML и записи в файловую систему.Это излишне для того, что вам нужно - переписать URL.Есть несколько вариантов.Это очень круто.Посмотрите его.

Способ перезаписи URL работает так: ваши теги href будут записаны (программно) на вашем PHP с «дружественным» внешним видом, который вы пожелаете.Устройство переписывания URL будет интерпретировать поддельную строку URL (конечно, не считая TLD) и расшифрует ваш оптимизированный для SEO URL back в переменные URL, которые вы хотите скрыть.Браузер, отправив фиктивную строку в качестве запроса, показывает только симпатичный URL, и все блаженно не подозревают о безобразии под ним.

Существуют некоторые приемы и лучшие практики, связанные с созданием оптимального URL.Если вы не будете осторожны, у вас возникнут новые проблемы.Я не могу не подчеркнуть, что вы ДЕЙСТВИТЕЛЬНО хотите начать набрасывать свои дружественные URL-адреса до их реализации и логически сравнивать с другими очень большими сайтами.

Удачи!

0 голосов
/ 25 сентября 2010

просто продолжайте использовать запросы POST, и после сохранения набора данных в базе данных выполните перенаправление.

header('Location: /myPage.php?voteSuccess=1');
exit;

тогда у вас не будет проблем с многократным вводом данных при обновлении страницы. Также, как это вы можете легко в зависимости от get-param распечатать уведомление на странице, что голосование прошло успешно.

Вы должны быть уверены, что до вызова функции header () данные не были отправлены клиенту, т.е. эхо / печать и т. д. в противном случае заголовок cal lto () приведет к ошибке

чтобы ответить на второй вопрос, просто сделайте весь контент доступным через get-params. убедитесь, что они где-то связаны (т. е. с помощью -tags) на странице, которую Google уже знает. ссылка на вашу главную страницу, на которой есть ссылки на страницы с подробностями, будет достаточной, чтобы позволить Google найти весь ваш контент.

Кроме того, есть мета-теги html, которые сообщают роботам-паукам, как часто вы хотели бы, чтобы они повторно посещали страницу, проверяли наличие обновленного содержимого и т. Д. ... но в конце SEO это тема compelx, и я думаю, вы можете узнать достаточно об этом, задавая вопросы здесь. если вы хотите в нее войти, вы действительно можете прочитать книгу или хотя бы несколько хороших учебников ...

...