Приложение Rails для индексирования Google - PullRequest
2 голосов
/ 12 июля 2010

Я заметил проблему с индексацией приложения rails при отправке его в инструменты Google для веб-мастеров и при тестировании с помощью curl.

Мой рут сейчас настроен так:

map.root :controller => "posts"

, который объяснит, когда я бегу:

$ curl http://0.0.0.0:3000

возвращает только контроллер сообщений, а не домашнюю страницу целиком:

<div class="post" id="post_25">
<h2><a href="/posts/25">test</a><span class="date">09<br><b>Jul</b></span></h2>

<p><p>Aliquam erat volutpat. Mauris vel neque sit amet nunc gravida congue sed sit amet purus. Quisque lacus quam, egestas ac tincidunt a, lacinia vel velit. Aenean facilisis nulla vitae urna.</p></p>

<h3 class="more"><a href="/posts/25">Read Post</a></h3>
<p class="comment_count">
    <a href="/posts/25">
        1 comment
    </a>    
</p>

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

Как заставить его вернуть всю домашнюю страницу, а не только почтовый контроллер?

Ответы [ 2 ]

2 голосов
/ 12 июля 2010

Похоже, вы каким-то образом отправляете фид RSS / Atom, когда страница запрашивается определенными пользовательскими агентами.Проверьте заголовок типа содержимого в этом подробном вызове curl:

$ curl -v http://alexefish.com/
* About to connect() to alexefish.com port 80 (#0)
*   Trying 174.129.212.2... connected
* Connected to alexefish.com (174.129.212.2) port 80 (#0)
> GET / HTTP/1.1
> User-Agent: curl/7.16.4 (i386-apple-darwin9.0) libcurl/7.16.4 OpenSSL/0.9.7l zlib/1.2.3
> Host: alexefish.com
> Accept: */*
> 
< HTTP/1.1 200 OK
< Server: nginx/0.6.39
< Date: Mon, 12 Jul 2010 15:50:58 GMT
< Content-Type: application/atom+xml; charset=utf-8
< Connection: keep-alive
< ETag: "85c19351dbfb19431738e7b6f360025a"
< X-Runtime: 37ms
< Cache-Control: private, max-age=0, must-revalidate
< Set-Cookie: _Blog_session=BAh7BiIKZmxhc2hJQzonQWN0aW9uQ29udHJvbGxlcjo6Rmxhc2g6OkZsYXNoSGFzaHsABjoKQHVzZWR7AA%3D%3D--fd6fef239709f99c7b2d7e2d353b22f1749fd3a1; path=/; HttpOnly
< Content-Length: 2442
< X-Varnish: 975219293
< Age: 0
< Via: 1.1 varnish
< 

Возможно, у вас есть какое-то промежуточное программное обеспечение или другой код приложения, делающий это?

0 голосов
/ 12 июля 2010

Вы можете определить макет приложения, создав app/views/layouts/application.html.erb. Это будет использоваться всеми ответами, если не указано иное. См. Это Руководство по Rails для макетов и рендеринга для получения более подробной информации.

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