2012-05-28 4 views
4

Я создаю платформу для блога (RoR) и планирую использовать следующий формат, любой недостаток?Рекомендуемый формат Url для платформы для блогов

# All Users: 
http://www.example.com/users/ 

# A single user (123 is the user id, id is needed for uniqueness) 
http://www.example.com/users/123/peter 

# All Categories 
http://www.example.com/categories/ 

# A single category listing (123 is the cat id, note: job is singular) 
http://www.example.com/categories/123/job 

# All Tags 
http://www.example.com/tags/ 

# A single tag listing (123 is the tag id, note: car is singular) 
http://www.example.com/tags/123/car 

# A single post 
http://www.example.com/posts/123/my-title 

Любое предложение или место для улучшения?

Спасибо.

ответ

5

Это все зависит от того, что является самым важным предметом вашего приложения. Предположим, что основным объектом приложения являются сообщения, тогда URL-адреса для сообщений должны быть «ближе» к корневому URL-адресу.

Так они будут выглядеть следующим образом:

# A single post 
http://www.example.com/123-my-post-title 

# All Users: 
http://www.example.com/users/ 

# A single user (supposing the username must be unique) 
http://www.example.com/users/peter 

# All Categories 
http://www.example.com/categories/ 

# A single category listing (supposing the category name must be unique) 
http://www.example.com/categories/job 

# All Tags 
http://www.example.com/tags/ 

# A single tag listing (supposing tags must be unique) 
http://www.example.com/tags/car 

Это включает в себя 2 изменения в маршрутах:

1) Избавление от "/ сообщений /" в ваших URL. Для этого вы можете объявить свой ресурс, как это:

resources :posts, :path => "/" 

2) Избавление от идентификатора во всех URL, кроме поста # показа (сообщения от разных пользователей могут иметь одинаковые названия, иногда, если нет, то вы может также опустить ID в этих случаях).

Для этого необходимо переопределить метод to_param в вашей модели, как это:

class Post < ActiveRecord::Base 
     def to_param 
     "{id}-#{title.parameterize}" 
     end 
    end 

или использовать friendly_id gem, если вы находите наиважнейшая to_param трудно.

1

Я столкнулся с той же проблемой, и я столкнулся с большой жемчужиной, которая делает ваши URL-адреса оптимистичными и удобными для пользователя: friendly_id.

Вот отличный скринкаст, чтобы начать работу с ним: Pretty URLs with FriendlyId.

Я не буду вдаваться в подробности здесь, потому что я уверен, что вы найдете все, что вам нужно, в документах или скринкасте. Счастливый SEO!

0

С (я предполагаю) пользователи имеют уникальные прозвища, URL может быть более просто:

http://www.example.com/users/peter 

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

Это также поможет избежать дублирования объектов с похожими названиями:

"peter the great".parameterize => "peter-the-great" 
"Peter-THE-Great".parameterize => "peter-the-great" 

И это только мое мнение, в большинстве случаев использовали логику с уникальным id-name или id/name (посмотреть на URL этого вопроса:)).

0

Я признаю, что мои знания по SEO не так далеко продвинулись, как некоторые из более опытных людей на StackOverFlow. Однако я знаю, что, когда дело доходит до URL-адресов, как правило, применяется правило «», более короткое и читаемое правило «». Таким образом, использование идентификатора в URL-адресе является большой неудачей и может оказать негативное влияние на ваш рейтинг SEO Google или другими поисковыми системами.

Вы можете прочитать довольно ABIT об этом в свободном SEO Руководство для начинающих от Google Wich вы можете найти на PDF здесь: http://static.googleusercontent.com/external_content/untrusted_dlcp/www.google.com/nl//webmasters/docs/search-engine-optimization-starter-guide.pdf

раздел об URL, на странице 8 настоящего PDF.

Что касается вашего приложения, то способ избежать использования идентификаторов будет заключаться в использовании псевдонимов для ваших пользователей. Вы найдете это обычно используемым на форумах по всему Интернету. Эти псевдонимы всегда имеют уникальное ограничение, гарантируя, что всегда есть только один пользователь с этим самым псевдонимом. Это также позволяет создавать ограничения для этих псевдонимов, например, запрещать использование чисел в псевдониме, чтобы люди не могли создавать псевдонимы, такие как John123.

В конце концов, вы хотите, чтобы в конечном итоге с URL, как это:

http://www.example.com/users/uniquenickname 

Та же идея идет для использования категорий и тегов.

Когда дело доходит до сообщений, у вас есть 2 варианта, в зависимости от того, что вы точно подразумеваете под сообщением. Если по почте вы просто означаете запись в блоге, вы можете просто использовать комбинацию категории, пользователя и названия записи для создания уникального URL-адреса.

Например: http://www.example.com/category/uniquenickname/entrytitle

Если вы Мента сообщения, как в комментарии сделал на запись в блоге затем, используя URL, которые были указаны выше, будет хорошо, но вы можете добавить в файл robots.txt, что сканер не разрешено индексировать эти URL-адреса. Причиной этого является то, что вы склонны к тому, чтобы спам-боты шли вокруг блогов, размещающих addvertisements и ссылки на веб-страницы, с которыми вы абсолютно не хотите связываться, и вы хотите, чтобы искатель не индексировал эти ссылки, которые могут оказать довольно негативное влияние на ваш рейтинг SEO.

Я надеюсь, что это помогает :)

+0

Я слышал много утверждений, что идентификационный номер снижает оценки SEO. Верно ли это, что номер + читаемая человеком строка? Все утверждения о том, как оптимизация SEO работает без ссылок, как документация, разочаровывают. –

-1

Im очень эгоистичный и гордый, поэтому постарайтесь сделать соскабливание моих сайтов сложным: P, попробуйте не использовать числовые идентификаторы на вашем url's.It делает его очень легко очистить весь сайт. Создавайте уникальный url, когда можете.

Если ваше сообщение является уникальным, сделайте его идентификатором и используйте его в своем URL-адресе.

Если ваше имя пользователя уникально, используйте его как идентификатор. Например:

# Все пользователи: http://www.example.com/users/

# A single user 
http://www.example.com/users/peter 

# All Categories 
http://www.example.com/categories/ 

# A single category 
http://www.example.com/categories/job 

# All Tags 
http://www.example.com/tags/ 

# A single tag listing (They are unique, each one should be a key itself) 
http://www.example.com/tags/car 

# A single post 
http://www.example.com/posts/date-here/my-unique-title 

Google любит URLs, которые имеют по крайней мере три значное число. это хорошая практика, чтобы добавить дату к новостному URL, а также добавляет ценность SEO. Нравится http://www.example.com/posts/2012/06/06/my-unique-title

+0

Если вы эгоистичны, почему вы делитесь своим контентом с Интернетом? 'robots.txt' – 0xcaff

Смежные вопросы