Stack Exchange Network

Stack Exchange network consists of 175 Q&A communities including Stack Overflow, the largest, most trusted online community for developers to learn, share their knowledge, and build their careers.

Visit Stack Exchange

Hot answers tagged

11

Short answer: What Chris S said: See "Our security auditor is an idiot, how do I give him the information he wants?". Long answer: Some of what a "SEO Guy" needs to do might require server access -- for example, installing optimized mod_rewrite rules, adding custom 404 pages, creating friendly redirects (and/or optimizing existing 3xx redirects), etc. None ...


11

First of all, if you do not have a lot of experience with e-mail distribution I can only recommend that you find a third party e-mail distributor to do that for you, especially with that amount of receivers. Also, SEO does not matter all that much in regard of e-mail. E-mail reputation and IP network reputation matters a lot. Crossing the line is extremely ...


5

That should work fine, however, I'd probably use an A record, rather than a CNAME record to save that extra lookup. Also, bear in mind that this will resolve them to www.domain.com. but not redirect. So, for example, if a user starts accidentally using ww.example.com - they will be lead to believe that this is the correct web-address, which could cause ...


5

You can use the retry-after header like this. ErrorDocument 503 /503.html RewriteEngine On RewriteCond %{REQUEST_URI} !^/503.html$ Header always set Retry-After "3600" RewriteRule .* - [R=503] Here is a blog post for more details.


5

Content Negotiation can do this. Enable MultiViews for shop folder: <Directory "/path/to/shop"> Options FollowSymLinks +MultiViews AllowOverride None Order allow,deny Allow from all </Directory> When the server receives a request /shop/section/3151/1/flowers (section does not exist), it will look up for section.* in shop folder, ...


4

SEO and email reputation are not linked except that you need to follow best practices for both. Before you do the mailing ensure: You have consent of the people you are mailing to. Double opt-in is the current standard. (If you have harvested addresses, you can end up on some blacklists very quickly.) You have a has a working mechanism for users to opt ...


3

The first improvement you can make is that you don't need the RewriteCond lines at all. RewriteRule /seo_term1 / [NC,QSA] Does exactly what your two lines are doing now. The second improvement you could make is using a RewriteMap. The rewrite map itself is can be updated without restarting Apache. RewriteMap seo txt:/etc/apache2/maps/seo.txt RewriteRule ...


3

Well, the Apache has to serve something when someone accesses it via https://websiteB.com. So it uses the content it has, from websiteA. This is explained in detail in the Apache documentation, here a quote from it: Apache automatically discriminates on the basis of the HTTP Host header supplied by the client whenever the most specific match for an IP ...


2

If you need to redirect all requests made to www.domain.com/ regardless of the request path, just drop the $1 at the end of the third line so it looks like this: $HTTP["host"] =~ "^www\.domain\.com$" { url.redirect = ( "" => "http://domain.com/" ) } $1 is substituted with the first match of the ^/(.*) regular expression, which is, in ...


2

If you are using IIS7, your application (even if it is just a static HTML site) can have a web.config. Have a look at the following post and see if this helps in setting up your rewrite rule (assuming you can use the IIS Rewrite module for your site): https://stackoverflow.com/questions/4206053/windows-server-web-config-strip-index-filename


2

Apache mod_proxy combined with mod_rewrite can do the domain cloaking you're looking for. However, links on pages are another story. If you're serving static content, I don't know of a way to modify those. If you're serving dynamic content, the application itself would have to modify hrefs to domain1 if it sees the connection coming from the domain1 web-...


2

Mod_alias, perhaps. Something like: AliasMatch ^/shop/section/(.*)/(.*)/(.*)$ /shop/section.php?xSec=$1&xPage=$3 AliasMatch ^/shop/product/(.*)/(.*)$ /shop/product.php?xSec=$1


2

Disclaimer: I am far from an SEO expert. Using a 301 permanent redirect doesn't seem appropriate here. Not from a semantic HTTP code standpoint or from a SEO perspective. The 301 should be used for permanent redirects, which yours isn't. It's temporary. From an SEO standpoint, the content should then start being transferred from foo.com to blog.foo.com, ...


2

Even if you have some pretty hefty resources for sending email through your own servers (both talent and the bandwidth/power), the intricacies of SPF records, getting un-blacklisted, spam reporting standards, abuse and bounce handling, etc. take a lot of time to master. I would highly recommend a service like MailChimp, which deals with millions of emails ...


2

No this is not a specified way. Either have the robots.txt or the HTML-Meta-Tag as described in http://en.wikipedia.org/wiki/Meta_element#The_robots_attribute There are only these two options available.


2

RSS is served over HTTP so the clients should be following the rules for an HTTP user agent as put forth in the rfq. Any RSS reader should behave like a browser and serving RSS pages should be no different than other Web pages. That said, though, there is no way to guarantee that all clients will be coded to the spec. Do what you can according to the ...


2

Application Generated Cookie Stickiness means your app has to drop a cookie that the load balancer looks for to assign affinity. Without the cookie, it's going to be random what server the request is assigned to. Unless you've modified your app to do drop the affinity cookie, you probably want to check "Enable Load Balancer Generated Cookie Stickiness" ...


2

Since ELB uses cookie-oriented stickiness, a crawler shouldn't ever get stuck to a single instance. However, since it's obviously a crap crawler you're dealing with here (since it's DoSing your site), it might be stupid enough to hold on to cookies it gets, in which case you're going to get hosed. Personally, I'd recommend getting rid of the session ...


2

You could bind apache daemon to loopback interface and make Varnish to connect to localhost:80. Thus, varnish would be accessible to the world while apache would be accessible only locally. Varnish config: backend www { .host = “localhost″; .port = “80″; } Apache config: Listen 127.0.0.1:8080 ... <VirtualHost 127.0.0.1:8080> ...


2

A record is an address<->IP mapping. Lets say you have example.com domain name and 1.2.3.4 ip address. First you add an A record for example.com pointing to "1.2.3.4" Now, if you want to ping example.com, your pc resolves example.com's A record and gets the 1.2.3.4 IP, and pings that IP. So when you open serverfault.com, your PC first asks your DNS for ...


2

You need to install a reverse proxy for this. Here is a blog post that helped me when I did something similar: Reverse Proxy with URL Rewrite v2 and Application Request Routing I haven't tested it with Wordpress, though, and writing URL rewrite rules for a web application can be tricky: you will need to test and adapt to Wordpress. Fortunately, unless you ...


2

Your problem is not associating each domain with a unique IP. That is very easy, and is precisely what DNS is designed to do. Your actual problem is finding (or building, more likely) the service that allows IP addresses from around the globe to be routed to a single server. That is something that is not only technically complex and un-orthodox, but will ...


1

You can install the nofollow meta tag < META NAME="ROBOTS" CONTENT="NOINDEX, NOFOLLOW" >


1

sitemap.xml files (http://en.wikipedia.org/wiki/Sitemaps) include a <changefreq> element that indicates how frequently a search engine should check it for updates. Creating a sitemap and setting it to monthly, yearly, or never for those URLs should reduce the frequency with which Google crawls those URLs.


1

Simply block the 8080 port with iptables for the outside world like this: # iptables -I INPUT -p tcp --dport 80 -j DROP # iptables -I INPUT -s localhost -j ACCEPT


1

Quickest option would be to simply bind the Apache instance to Localhost, so it would only be accessible from that machine. <VirtualHost 127.0.0.1:8080> Alternatively you could tweak the permissions of your Apache Virtual host directory block to: Deny from all Allow from 127.0.0.1 #IP.OF.MY.PC This is slightly more flexible, as you can add your ...


1

You don't need to change DNS for this at all.. He is correct in his argument though. Google doesn't like the same content for multiple hosts. So pick which one you want to use example.com or www.example.com and do a 301 redirect from the one you don't want to use to the one you want to use. The 301 re-direct is done with your webserver not dns. The 301 ...


1

A regex should be pretty capable of pulling this off. RewriteEngine on RewriteCond %{REQUEST_URI} ^\/[^\?]+\?(?=.*(utm_source\=(google|msn|yahoo)))(?=.*(utm_medium\=(cpc|ppc)))(?=.*(utm_campaign\=[a-zA-Z0-9._-]+)) RewriteRule ^(.*)$ / [L,R=301] The above would match only a string that contains all the parameters specified, regardless of the leading (pre-?) ...


1

301 redirects are cacheable. This means that once a user hits that 301, the next time they request the original URL the browser will automatically go to the redirect target without making a request to the server. Even if the browser cache is cleared, any transparent proxies along the way can also cache the 301 response. 302 responses are not cached. ...


1

Try this: RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d ... RewriteCond %{REQUEST_URI} !(.*)/$ RewriteRule ^(.*)$ $1/ [R=301,L] You can add your exceptions where I wrote ... and it will redirect only if there is not already a trailing slash. EDIT: found this and verified that it works: RewriteCond %{HTTP_HOST} !="" RewriteCond %...


Only top voted, non community-wiki answers of a minimum length are eligible