我在想我应该如何写我的网址.我想要他们A)用户友好B)SEO C)允许快速数据库查询.我有的信息是用户名,类别,mediaId,标题和其他我认为不必要的数据(日期,哈希等).
我应该在域名之前还是之后拥有用户名?(username.mysite.com/ vs mysite.com/username/).
然后我需要决定是否应该使用/ media/The-Title-Of-Media或/ media/mediaId/The-Title-Of-Media(媒体为8或16位数字)或任何变体(例如媒体/ The -Title-OF-Media的MediaId).
我想要一个mediaId吗?我认为它可以加快数据库查询,但如果我正在验证它的用户名(所以不允许使用mysite.com/deceptiveUserName/media/mediaId/title)只是使用WHERE userid = expectedUserId可能是一个发际线效率低于使用主键查询?同样使用mediaId允许标题不是唯一的,但允许用户懒洋洋地不给所有内容一个独特的标题是一个坏主意吗?如果我允许懒惰,用户可以查看之前和之后的网址,并认为它们是由于标题的名称.或者很难在链接列表中找到链接?
-编辑-
这个怎么样.mysite.com/username/media/mediaId/title.如果标题恰好改变,我可以更新URL而不是中断链接bc mediaId仍然是相同的.
我要像做www.mydomain.com/page-slug
点www.mydomain.com/custom-pages/view/page-slug
,像WordPress的.我怎么能在CakePHP中做到这一点.
在9月1日,我在我的网页上做了一个301:http://www.gameaudio101.com/toolbox.php,它重定向到http://www.gameaudio101.com/jobs.php
问题是,随着时间的推移,新页面从未编入索引.原版仍显示在谷歌搜索中.两个页面都是相同的,但旧页面的顶部是这样的:
<?
Header( "http://www.gameaudio101.com/toolbox.php 301 Moved Permanently" );
Header( "Location: http://www.gameaudio101.com/jobs.php" );
?>
Run Code Online (Sandbox Code Playgroud)
这应该是页面上的唯一代码吗?请帮助一个非编码人员!
为什么有这么多方法在ASP.NET MVC中选择一个动作方法以及我如何避免这种情况?我的意思是,我可以从/,/ Home,/ Home/Index转到Index动作方法.我认为这会影响SEO排名.
我在2个月前制作了一个名为League of Legends的游戏的粉丝网站.从那以后,我一直在等Google为我的网站编制索引.
我做了这些步骤.
谷歌到目前为止没有为我的网站编制索引,所以我在/ forum /目录下创建了一个基本的PHPBB论坛.在一两个小时内,垃圾邮件机器人攻击我的论坛并制作了超过5k的主题.奇怪的是,谷歌在一小时内将它们全部索引.
问题是,为什么你认为谷歌没有索引我的主网站?我应该采取额外的步骤,还是我做错了什么?
PS.如果你想看一下,我的网站地址是www.sobafire.com.
我试图了解URL重写的工作原理.我有以下链接.
mysite.com/profile.php?id=23
Run Code Online (Sandbox Code Playgroud)
我想用用户的名字和姓氏重写上面的url.
mysite.com/directory/liam-gallagher
Run Code Online (Sandbox Code Playgroud)
从我读过的内容中你可以指定url应该输出的规则,但是如何查询我的表以获取每个用户名?
对不起,如果这很难理解,我自己也很困惑!
我有一个网站,我使用underscorejs.我有很多模板(underscorejs)包含在HTML中.
在某些情况下,页面上会读取不必要的模板.这会影响我的网站的SEO评级.
我听说Google搜索引擎会降低您网站的排名,如果它在<script>
标签中找不到Javascript代码的话.
在指定underscorejs模板时,我们指定它
<script type="text/template" id="XXX"></script>
Run Code Online (Sandbox Code Playgroud)
PS:我知道readig不必要的模板并不好,但这是在网站上很长一段时间内完成的,我不打算很快编辑它.
我读过AMP,我有一个问题.
通常我们的HEAD(非AMP网站)看起来像
<link rel="canonical" href="https://www.example.com/de/Some-Page-German">
...
<link rel="alternate" hreflang="de" href="https://www.example.com/eu/Some-Page-German">
<link rel="alternate" hreflang="en" href="https://www.example.com/eu/Some-Page-English">
<link rel="alternate" hreflang="en-de" href="https://www.example.com/de/Some-Page-German">
<link rel="alternate" hreflang="de-de" href="https://www.example.com/de/Some-Page-English">
Run Code Online (Sandbox Code Playgroud)
在Google Search Console中,我们提交了两个站点地图.一个用于/ de和一个用于/ eu这些站点地图仅包含该产品的一个URL,因为Google无论如何都应该看到其他版本.
现在我的主要问题 - 如果我现在创建一个页面的AMP版本,头部应该是这样的(AMP版本可以在example.com//amp/Some-Page下访问:
<link rel="canonical" href="https://www.example.com/de/Some-Page-German">
...
<link rel="alternate" hreflang="de" href="https://www.example.com/eu/amp/Some-Page-German">
<link rel="alternate" hreflang="en" href="https://www.example.com/eu/amp/Some-Page-English">
<link rel="alternate" hreflang="en-de" href="https://www.example.com/de/amp/Some-Page-German">
<link rel="alternate" hreflang="de-de" href="https://www.example.com/de/amp/Some-Page-English">
Run Code Online (Sandbox Code Playgroud)
因此,rel标记指向其他映射AMP页面,但规范标记指向非AMP版本.
我认为到目前为止这是正确的.
但是,如何告诉Google(和其他搜索引擎)现在有一个AMP版本?
我是否需要调整我的站点地图以仅包含每个页面的AMP版本,以便Google通过规范标记检查并查看所有AMP版本+正常版本?如果是这样不会导致问题,因为其他搜索引擎可能不会"支持"AMP,因此索引错误的页面?
或者我是否需要在主要非AMP版本的页面中添加另一个标记rel="alternate"
以提及AMP版本?