PHP нумерация страниц и сортировка - PullRequest
1 голос
/ 14 октября 2009

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

Первоначально я думал о том, чтобы просто использовать строку запроса: blog/?page=3&count=20&sort=date, но я не уверен, будет ли этот метод оказывать неблагоприятное воздействие на SEO.

Например, достаточно ли Google разумен, чтобы понять, что blog/?page=3&count=20 - это то же самое, что и blog/?count=20&page=3?

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

Наконец, я уже использую mod_rewrite для некоторых URL, лучше ли будет использовать такую ​​структуру: blog/1/20/?

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

Заранее спасибо

Ответы [ 4 ]

2 голосов
/ 14 октября 2009

Пока эти строки запросов присутствуют в ссылках на вашем сайте (через статические, обычные «пейджинговые» ссылки, которые являются «паразитными»), не должно быть никаких негативных последствий. Однако, если подкачка происходит через сеансы, это может оказать влияние, как это обычно делается с помощью файлов cookie или с помощью длинного идентификатора сеанса, передаваемого в строке запроса. Насколько я знаю, порядок параметров не имеет значения, если они дают одинаковый вывод с сервера.

Простой метод подкачки строки запроса GET работает хорошо. Google тоже делает это (например, q = test & start = 10 & ...), главное - убедиться, что все доступно с помощью простых ванильных якорей.

0 голосов
/ 14 октября 2009

Ваш комментарий о переменных сеанса:

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

Переменные сеанса хранятся на сервере, а не на клиенте, поэтому отключение файлов cookie не влияет на переменные сеанса.

Переменные сеанса, вероятно, самый простой и надежный способ решения этой проблемы, если вы хотите избежать проблем с дублированием Google.

0 голосов
/ 14 октября 2009

Я всегда делал это с переменными сеанса, которые устанавливаются с помощью вызовов ajax.

Я установил событие onClick для каждого заголовка столбца и обернул содержимое страницы в div, чтобы я мог заменить его.

Я не хочу, чтобы Google загружал 10 разных версий одной и той же страницы.

0 голосов
/ 14 октября 2009

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

Вместо этого используйте mod_rewrite и такие запросы:

blog/page:3/count:20/sort:date

Это сделает его более читаемым, не затрагивая строки запросов.

Конечно, вам придется проанализировать это перед выполнением фактического запроса, но в PHP это сделать довольно просто: с помощью explode () вы отделяете каждую часть URI, а затем анализируете из есть.

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...