首页 > 解决方案 > 桌面网页,而不是设置动态网站后显示移动设备的移动网页

问题描述

我开发了一个外汇数据网站,我认为最好在台式电脑上查看,因为很多数据都以最简洁的方式排列,因此可以一目了然地查看以提高效率。它工作正常,但是,谷歌感觉不同,如果页面在移动设备上显示不好,显然不会提高 SEO 评级。好的,为此,我使用动态方法重新设计了页面以适应移动屏幕。也就是不使用单独的url,只单独的页面,并且已经实现了以下;

该网页仅显示桌面,即使所有适合移动设备的页面都位于 /mobile 目录中。我正在使用 Open Element 作为 Web 开发人员工具。除了编程背景的一般知识外,它使用了大量我并不熟悉的 java 脚本。我还需要一些 php 来处理特定情况,包括正确显示基于文本的数据和电子邮件联系人页面。

简而言之,我所做的任何事情都不会在移动设备上显示正确的页面,即 fxchartdata.com/mobile/m_Home.htm。我承认自己对 Web 开发有点陌生,尽管我自己完成了所有工作。我检查了页面参考并更正了我发现的任何不一致之处,尽管我仍然有可能错过至少一个。

知道我可能遗漏了什么或粗心吗?

桌面 index.htm 部分

<!DOCTYPE HTML>
<html xmlns="http://www.w3.org/1999/xhtml" dir="ltr" lang="en">
 <head>
  <meta http-equiv="content-type" content="text/html; charset=UTF-8" />
  <meta name="generator" content="openElement (1.57.9)" />
  <title> EzPrepForex Trading Preparation</title>
  <meta name="description" content="Foreign currency exchange trading preparation tool. Reduces time needed to study the market for the best forex trades." />
  <meta name="keywords" content="forex trading preparation,forex trading analysis,forex chart data,forex news,forex data" />
  <meta name="copyright" content="2019" />
  <meta name="viewport" content="width=device-width,initial-scale=1.0" />
  <link rel="shortcut icon" href="favicon.oe.ico?v=50491105200" />
  <link id="openElement" rel="stylesheet" type="text/css" href="WEFiles/Css/v02/openElement.css?v=50491105200" />
  <link id="OEBase" rel="stylesheet" type="text/css" href="index.css?v=50491105200" />
  <!--[if lte IE 7]>
  <link rel="stylesheet" type="text/css" href="WEFiles/Css/ie7.css?v=50491105200" />
  <![endif]-->
  <script type="text/javascript">
   var WEInfoPage = {"PHPVersion":"phpOK","OEVersion":"1-57-9","PagePath":"index","Culture":"DEFAULT","LanguageCode":"EN","RelativePath":"","RenderMode":"Export","PageAssociatePath":"index","EditorTexts":null};
  </script>
  <script type="text/javascript" src="WEFiles/Client/jQuery/1.10.2.js?v=50491105200"></script>
  <script type="text/javascript" src="WEFiles/Client/jQuery/migrate.js?v=50491105200"></script>
  <script type="text/javascript" src="WEFiles/Client/Common/oe.min.js?v=50491105200"></script>
  <link rel="alternate" media="only screen and (max-width: 640px)" href="https://fxchartdata.com/mobile/m_Home.htm" >
  <link rel=”canonical” href=”https://fxchartdata.com/index.htm”&gt;
 </head>

htaccess


RewriteEngine On 
RewriteCond %{HTTPS} off 
RewriteRule ^(.*)$ https://%

#Protect .htaccess
<Files .htaccess>
order allow,deny
deny from all
</Files>

# another ver to force https
#RewriteCond %{HTTPS} !=on
#RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301,NE]

#RewriteCond %(HTTP_HOST) ^www\fxchartdata\.com$ [NC]
#RewriteRule ^(.*)$ https://fxchartdata.com/$1 [L,R=301]

#FreeScript
AddDefaultCharset UTF-8
<IfDefine !Free>
<IfModule  mod_headers.c>
Header set Cache-Control "private, max-age=0, must-revalidate"
Header set X-UA-Compatible "IE=8; IE=9; IE=10"
Header append Vary User-Agent
</IfModule>
</IfDefine>

标签: javascripthtmlapache.htaccessmod-rewrite

解决方案


不使用单独的 url,只使用单独的页面

不确定您在此处对“URL”的定义,但这是“使用单独的 URL”。/index.htmvs/mobile/m_Home.htm是两个不同的 URL。

避免“单独 URL”的方法是使用完全响应式设计。

该网页仅显示桌面,即使所有适合移动设备的页面都位于 /mobile 目录中。

您发布的内容中没有任何内容将“桌面”页面(即index.htm)仅限于桌面用户代理。如果请求/index.htmURL,所有用户代理都将查看桌面页面,无论设备/用户代理如何。在设置 时Vary: User-Agent,您实际上似乎并没有根据请求来改变响应User-Agent?由于桌面和移动用户代理有单独的 URL,因此您需要基于User-Agent.

请注意Google 爬虫/用户代理,因为它们也需要包含在重定向中。

<link rel=”canonical” href=”https://fxchartdata.com/index.htm”&gt;

您在canonical链接标签中错误地使用了大引号。

RewriteCond %{HTTPS} off 
RewriteRule ^(.*)$ https://%

在文件的顶部,您.htaccess有“一半”需要删除的指令。

#RewriteCond %(HTTP_HOST) ^www\fxchartdata\.com$ [NC]
#RewriteRule ^(.*)$ https://fxchartdata.com/$1 [L,R=301]

很好奇您在问题描述中包含相同的“错字”(或者这是复制/粘贴?)...www\在上述条件之后您缺少一个字面点。\f是一个换页符(在正则表达式中),所以上面的内容永远不会匹配 - 所以这个指令实际上不会做任何事情。(令人费解的是,您说该指令使该网站无法在 Firefox 和 Chrome 上访问。这是不可能的。)

如果您没有实现HSTS,那么您应该反转两个规范重定向指令以避免双重重定向。换句话说:

# www to non-www (and HTTPS)
RewriteCond %(HTTP_HOST) ^www\. [NC]
RewriteRule (.*) https://example.com/$1 [L,R=301]

# Force HTTPS
RewriteCond %{HTTPS} !=on
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301,NE]

谷歌感觉不同,如果页面在移动设备上显示不佳,显然不会提高 SEO 评级

严格来说,这不是真的。如果您的网页在移动设备上的显示效果不佳,那么您的网页在移动搜索中的表现可能不会那么好(可以理解)。但是,这不一定会影响桌面搜索的排名。但是,如果您的页面不适合移动用户,并且您不希望移动用户搜索您的页面,那么您可能不需要定位移动用户 - 但这肯定是一种风险。


推荐阅读