Jboss Seam'de URL'lere ;jsessionid=xxxxxxxxxxxxx şeklinde bir parametre eklenmektedir. Google Bot'u web sitesini indexlediğinde bu jsessionid parametreleri URL'e dahil etmektedir ve bu değer değiştiğinden aynı URL'i farklı bir URL gibi görmektedir. Bunu engelmek için aşağıdaki gibi bir Filter kullanabilsiniz. Ayrıca bu filter /a4j/s/ ile başlayan URL'lerden de jsessionid parametresini kaldırmaktadır.
import java.io.*; import javax.servlet.*; import javax.servlet.http.*; public class DisableUrlSessionFilter implements Filter { private static final String GOOGLEBOT_AGENT_STRING = "googlebot"; private static final String USER_AGENT_HEADER_NAME = "User-Agent"; public void doFilter(final ServletRequest pRequest, final ServletResponse pResponse, final FilterChain pChain) throws IOException, ServletException { if (!(pRequest instanceof HttpServletRequest)) { pChain.doFilter(pRequest, pResponse); return; } HttpServletRequest httpRequest = (HttpServletRequest) pRequest; HttpServletResponse httpResponse = (HttpServletResponse) pResponse; boolean isGoogleBot = false; if (httpRequest != null) { String userAgent = httpRequest.getHeader(USER_AGENT_HEADER_NAME); if (userAgent != null && userAgent.length() > 0) { if (userAgent.toLowerCase().indexOf(GOOGLEBOT_AGENT_STRING) > -1) { isGoogleBot = true; } } } boolean isXCSSFiles = false; String requestURL=httpRequest.getRequestURL().toString(); if(requestURL.indexOf("/a4j/s/")!=-1){ isXCSSFiles=true; } if (isGoogleBot || isXCSSFiles) { HttpServletResponseWrapper wrappedResponse = new HttpServletResponseWrapper(httpResponse) {
@Override public String encodeRedirectUrl(final String url) { return url; } @Override public String encodeRedirectURL(final String url) { return url; } @Override public String encodeUrl(final String url) { return url; } @Override public String encodeURL(final String url) { return url; } }; pChain.doFilter(pRequest, wrappedResponse); } else { pChain.doFilter(pRequest, pResponse); } } public void init(final FilterConfig pConfig) throws ServletException {} public void destroy() {} }
Eğer web sitenizde dışarıdan başkaları tarafından (yorum, mesaj vs.. şeklinde) bağlantı ekleniyor ise bu bağlantıların arama motoru (özellikle Google) tarafından dikkate alınmamasını sağlayın. Eğer linkler toplink tarzındaki veya spam sitelerine bağlantı sağlıyor ise sitenizin değeri de düşecektir. Bu nedenle bu tür dışarıdan eklenen bağlantılara nofollow özelliğini ekleyin. Aşağıdaki gibi ekleyebilirsiniz :
Arama motorlarının resimleri anlayabilmesi ve doğru index'leyebilmesi için resimlere alt etiketi ile bilgi ekleyiniz:
şeklinde açıklayıcı yazı girebilirsiniz.
Arama motoru sonuçlarında görüntülenen bir sayfanın URL'sini değiştirmeniz gerekiyorsa, sunucu tarafındaki bir 301 yeniden yönlendirmesini kullanmanızı öneririz. Bu, kullanıcıların ve arama motorlarının doğru sayfaya yönlendirilmesini sağlamanın en iyi yoludur. 301 durum kodu, bir sayfanın kalıcı olarak yeni bir konuma taşındığı anlamına gelir.
301 yeniden yönlendirmeleri özellikle aşağıdaki durumlarda yararlıdır:
Apache kullanılan sunucularda barındırılan web sitelerinde bir 301 yeniden yönlendirmesini uygulamak için sunucunuzun .htaccess dosyasına erişmeniz gerekir. (Erişiminiz olup olmadığından veya sunucu yazılımınızdan emin değilseniz, size web barındırma hizmetini veren kuruluşa başvurun.) Daha fazla bilgi için, Apache .htaccess Eğitmeni ve Apache URL Yeniden Yazma Kılavuzu'na bakın. Siteniz başka yazılım kullanılan bir sunucuda barındırılıyorsa, daha fazla bilgi almak için size barındırma hizmetini veren kuruluşa başvurun.