I have a long history with Google’s Accelerated Mobile Pages (AMP) project, but yesterday I drew the final straw.
I was on Twitter (in Safari on iPhone 6) and I noticed that somebody linked to my site using an AMP link. I replied with a real link, but when I clicked on it, I was redirected back to the AMP version of my page.
Thanks for sharing here is non amp link so all images load: https://t.co/6drRK5Cugz
— Alex Kras (@akras14) June 23, 2017
I copied the link generated by Twitter and noticed that it looked as follows:
https://t.co/6drRK5Cugz?amp=1
Note the amp=1
in the path. When I hit the link, it responded with the following HTML page:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
<head> <noscript> <meta http-equiv="refresh" content="0;URL=https://www.alexkras.com/simple-guide-to-finding-a-javascript-memory-leak-in-node-js/amp/" /> </noscript> <title>https://www.alexkras.com/simple-guide-to-finding-a-javascript-memory-leak-in-node-js/amp/</title> </head> <script> window.opener = null; location .replace(`https:\/\/www.alexkras.com\/ simple-guide-to-finding-a-javascript-memory-leak-in-node-js\/amp\/`) </script> |
The sole purpose of this page is to redirect the reader to the AMP version of the link.
My Issues with AMP As a Publisher
When AMP first came out, I was optimistic. AMP’s aim is to make the web faster and I have a lot of respect for that.
What I didn’t like as a publisher, A LOT, was the fact that Google was caching AMP content, and serving it from their own cache and under it’s own domain name. Resulting in links that look as:
https://www.google.com/amp/www.bbc.co.uk/news/amp/39130072
In other words, instead of serving the content from BBC.co.uk, it is being served from Google.com.
There are a number of issues with that approach:
- It “traps” users on Google. If user were to click “x” in the screenshot above, they will be taken back to Google search results. A normal redirect would have landed users on actual BBC site, maximizing their chances of staying on that site. Instead, AMP makes it easier for users to return to Google. A functionality that was always provided by the back button. This may be bad for the publisher’s, but likely irrelevant to users.
- It opens up the system to abuse. For example “fake news” served via AMP could appear credible to an unsuspecting reader, since they are being served from Google.com – a very reputable domain name.
Ironically, that is NOT what Twitter is doing.
I think Twitter is operating under an assumption that content served via AMP format is better for users. Therefore, they are simply trying to do users a favor and serve the content in the best format possible.
I have no one but myself to blame for the fact that Twitter was serving an AMP version of my post. AMP participation is completely optional (for publishers) and I was the one who chose to enabled it on my site.
My Issues with AMP as a User
AMP consists of 3 components: HTML, JavaScript Library, and Cache. I’ve talked about my issue with cache in the previous section. The benefit of cache, as was explained to me by Google’s AMP engineers, is that it allows Google (or any other platform) to pre-load the content for user. When user clicks on an AMP link, Google can render the result almost instantly, since it was already fetched in the background.
Again, ironically Twitter is not using the caching layer. Twitter is betting that mobile users prefer to read AMP rendered content, when it’s available, even if it wasn’t pre-loaded.
The issue for me is that I don’t like reading AMP content. There are a lot of small things that really bug me about AMP.
For example:
Scrolling sucks
On iPhone, AMP seems to override the default browser scrolling. As a result scrolling of AMP pages feels off.
Sharing links is hard
AMP makes it harder to share links to the original content.
Instead of going to the address bar at the top and copying the URL, a user has to click on a special button to view the original URL. The user then needs to click on the original URL, wait for a redirect, and copy the original URL from the address bar on top.
Note: As painful as it is, the “original link” button is a huge step up from the initial AMP implementation. Initially users would have to manually remove the https://www.google.com/amp/
portion of URL to get to the real link
I am willing to go through this pain, because I don’t like consuming AMP content and because I want to make sure to credit the right source with the link. I am confident that most users are not taking those steps. They are just copying the full AMP link, like https://www.google.com/amp/www.bbc.co.uk/news/amp/39130072
and sharing that. My wife, for example, sends me AMP links all the time. I am really surprised that big publishers are not bothered by this fact as much as I am.
AMP content is usually butchered
Back in the day we used to have WAP pages – specific web pages that were presented only to mobile devices. Opting into AMP, for publishers, is kind of like going back to those days. Instead of using responsive design (making sure that one version of the site works well on all devices) publishers are forced to maintained 2 versions of each page – their regular version for larger devices and mobile phones that don’t use Google and the AMP version.
The benefit of AMP is that it imposes tough restrictions on content, making it load fast. The issue with this approach is that AMP becomes a subset of the original content. For example, user comments are often removed.
I also find the way images load in AMP to be buggy. AMP tries to load an image only when it becomes visible to the user, rendering a white square instead of the image. In my experience I’ve seen it fail fairly regularly, leaving the article with an empty white square instead of the image.
There are number of other little things that are specific to various sites. For example, Reddit comments (a very important part of the site) get cached by AMP. As a result, new comments that are being visible in Desktop version of Reddit, do not show up on AMP version of Reddit until AMP cache for that page is updated.
AMP is not optional for users
It’s up to publishers to decide if they want to add AMP support on their site. User’s, however, don’t have an option to turn AMP off.
It would be nice if Google provided a user level setting to turn results rendered as AMP off. Unfortunately, even if they were to add this option, it wouldn’t help much when Twitter of Facebook would decide to server AMP.
Why I Enabled AMP on my site in the first place
I initially enabled AMP on my site for one reason only – ranking well in Google search results.
Shortly before AMP became a thing, Google announced that they will begin penalizing websites that did not render fast on mobile devices. My website had a responsive theme, but I wasn’t sure if that was “mobile friendly” enough. Therefore, when I learned that WordPress had an AMP plugin, I quickly enabled it. Even though Google has officially stated that AMP support does not affect site’s search ranking, I figured it wouldn’t hurt.
Another search ranking benefit of AMP, is that only AMP enabled sites are shown in Google’s carousel feature. While my site is not likely to make it into the carousel, getting featured there must be very important for big publishers.
It is spreading
I’ve considered disabling AMP when I first learned that Google was serving my site from a cache, but decided against it. My 2 main reasons for keeping it were:
- I wanted to keep my search ranking.
- I wanted to provide AMP as an options, for readers who would prefer that format.
What I didn’t realize until the “Twitter experience”, is that by having AMP enabled I am allowing other sites to chose how they want to link to my content.
Less than two weeks ago I wrote the following:
I have no issue with the AMP library itself. I don’t care that Facebook Instant Articles or Pinterest use AMP.
Man was I wrong. I thought I didn’t care, until I saw my link on Twitter being forced to render in AMP format.
Users don’t need AMP
Few weeks ago somebody on Twitter accused me of not liking AMP because I had the “privilege” of fast internet. While it is true that I have fast internet, I don’t think I would use AMP even if I was on a slow connection. I would use a browser with JavaScript disabled instead (may be even images disabled, if it was really bad). This may not work for all sites, but my site is rendered and cached server-side . Users just have to download a bit of HTML to see any page. Why force them to download the AMP JavaScript library?
Of course, the reason we have AMP is because Google wants users to see ads, something that is mostly missing with JavaScript disabled. I want users to see ads too (Google ads btw), that’s how I pay for my server costs. That being said, I am happy to let a person on a crappy connection to opt-out from that part of the deal.
In any case, to test my theory I opened Chrome Developer Tools to throttle my network connection to the slowest option available and to disable JavaScript. I navigated to an article on my site and it loaded in three seconds. I tried to use Google search and it was blazing fast, BUT I didn’t see any AMP links. Of course not, AMP links only show up when JavaScript is enabled.
I’ve re-enabled the JavaScript (while keeping the network speed slow) and tried to search for some AMP content. It took over 10 seconds just to load the news carousel.
As far as I am concerned, static content (without JavaScript) is still the king.
Please speak up
I first wrote about my concerns with AMP nine months ago. It got some attention on Hacker News and Google’s AMP guys were actively participating both in Hacker News discussion and in the comments of my post. They even went as far as to invite me for a lunch to learn more about my concerns.
I wrote a similar post two weeks ago titled Please Make Google AMP Optional. It received a lot more attention than my original post on Hacker News (making it one of the top 300 post of all time), yet there was no engagement from Google’s AMP team.
It’s likely that Google’s AMP team realized that they don’t have much to gain by engaging with the subset of the developer community that does not like AMP. They know that we are a minority and we are not their main target. My mother or my wife don’t go on Hacker News. They don’t know what AMP is and are not really concerned with the open web.
At the same time Google has a lot of engineers who do care about the open web. I am really surprised that I don’t hear more of them speaking out against AMP. I am guessing it’s a project that is blessed from the top and it is politically dangerous to make big waves.
Those of us who don’t like AMP, however, must fight back.
Do you own a WordPress site? Turn AMP off or don’t enable it in the first place.
Do you work for a publisher that has AMP support enabled? Try to educate your employer on dangers of AMP, how they might be losing traffic and brand recognition.
Are you just a web developer? Try to make faster sites and avoid JavaScript bloat. There are a ton of resources (i.e. see Chrome Dev Summit notes) to help with this task. It will be easier to make a case against AMP if most sites could load fast, even on poor connections.
The decision to turn AMP off was a long time coming. Thankfully it was almost as easy to disable AMP on WordPress as it was to enabled it. I just had to disable the AMP plugin. Less than 24 hours later Googled stopped showing the AMP version of my site in their search results.
Update 06/26/2017: I documented the exact steps I took, including setting up a redirect for old AMP links, here: https://www.alexkras.com/how-to-disable-amp-on-wordpress/.
Update 07/26/2017: Take a look at – One Month Without AMP
for observed effects on my traffic.
Update 09/19/2017: While I still have concerns with AMP, I wanted to point out that it did make things better for users and there is currently no good alternative.
Please Share:
I totally agree. I want my website to rank well too and I decided to use a WordPress AMP plugin, I got tired of it for so many reasons which I found on your article. Thanks for sharing and for stepping out of there.
Again configuring ads with AMP pages is a big problem. At least google should make it more flexible to publishers. Don’t know what will happen next.
I am going to Start amp but if it’s not work good for me then will choose what I need,
Thank for sharing your decision and problems with amp.
Hello, Great post thank you Alex. But why we cant see AMP results any more?
Even I am facing the issue with AMP version.. I dont have control it. it has listed all inside pages, images, posts and live for users aswell. pls help to resolve this issue. check this http://dizitalsquare.com
I am the developer of Bromite (https://www.bromite.org/); I added removal of AMP links from Google search results just because I hate so much this “feature” since its inception.
Nice article! In particular I appreciate your position on something I’ve also said – before, we had a main website with a mobile version….then we were told to build responsive sites for a better experience….now we are told to again have two sites.
I suppose the AMP concept makes sense for the bandwidth nazis, but it’s a disaster for any for-profit organization.
Personally I see the entire struggle being between engineers (looking at things as they do) from only a technical perspective, and marketing professionals needing to make a high quality presentations. AMP pages may be great for news agencies, academia, and advertisements but they fall miserably short in benefits for commercial enterprises.
Our agency has been able to consistenly deliver html websites that look very good, have page load times around 500ms, and that score well on Pingdom and Page Speed Insights . . . . so why do we need AMP web pages? Our AMP pages (with images) load at approximately the same speed yet lack the presentation quality and depth of information. Our stripped down AMP pages load in the 250-300ms range but these pages don’t have anything even close to a “wow factor”.
Yes, we will continue to discuss AMP pages with our clients, and build them, but we presently have low confidence in their value to effectively enage buyers and drive sales.
Thank you, I just removed the Google AMP on my blog. 🙂
And there is no way to disallow Twitter to redirect to the AMP version ? No meta tag, nothing?
None that I know of
Can you help me? I am suddenly finding that all of my blog posts are being serviced through AMP when viewed on Pinterest. Therefore, none of my opt – in forms are showing up. I am confused and frustrated. I have no idea how to get rid of this problem. Can you please help me? No one seems to know how to help me with this.
I can at least try. What platform(if any) do you use to publish your website? Where is it hosted?
There is no doubt that AMP pages are fast and therefore should be more appealing to visitors, at least this is google’s strongest argument.
The reality of google analytics however shows exactly the opposite, how can we talk about good user experience when users see only one page per visit, they do not stay onsite more than a minute and the bounce rate has sprung up to 95% ?
Not to mention the decrease on leads and earnings, AMP brings a lot but completely useless and unneccesary traffic.
AMP experience for my site was tragic, from 30% the bounce rate gone up to 60%(95% in AMP pages alone!), time on site from 7 minutes down to 4(1 minute in AMP pages), pages per visit from 4 down to 2.6(1.2 in AMP alone)
I removed AMP today and i am happy i did so.
This project is a regression for the web, we have to sacrifice everything for the sake of speed, it is stupid.
Kill AMP before it kills the web.
As you i just disabled it from now and search your content for see if i was not crazy to want do it (a kind of little fear). For me the point is : i like fast website too, but amp is too limited, it steal a nature of a website by make all features too prehistoric html and basic css.
For me the conclusion is : amp s…k alot even if is beautifull and fast. All the rest is not adapted to web. Where content are not purely informationals. for me is not good too for medias website too. It provoque a éread and throw” habit.
P.s. sorry for my average english, i’m french native, need to improve it yet :p
The biggest problem for me is the lack of the ability to completely disable caching.
By the way, the way scrolling behaves in AMP caches will be the standard in safari with iOS 11. It’s also the standard in apps already, so AMP was more consistent then normal web pages in safari.
https://9to5mac.com/2017/05/22/scrolling-mobile-safari-update-faster/
Alex, I do agree with some points you made, however, I still find AMP a generally good step forward and hopefully it helps to adopt a universal standard.
What caught my attention was the measuring you made.
I loaded this very article on a mobile device with slower speed. With JS disabled, I could interact with the site in 9 seconds, it took 33s to download the page which added up to 1.3 MB. See it here: https://www.webpagetest.org/result/170801_AJ_119Z/
When JS was enabled, it was even worse, it took about 18 seconds to interactive and it downloaded 2.5 MB in 53s. See here: https://www.webpagetest.org/result/170801_HC_11TP/
Compare that with a random BBC article served via AMP cache (https://www.google.cz/amp/www.bbc.co.uk/news/amp/40786411). With JS (https://www.webpagetest.org/result/170801_A8_12PH/): 7s to interactive, loaded 400KB in 23s. Without JS: 5s to interactive, 33KB in 5s. (Add 100KB if BBC implemented images with noscript). By design, these numbers cannot get much worse. Any AMP will load the static content (the king) very fast.
This, among others, is the reason I–as a user–will choose on AMP anytime I can.
Hello Alex Kras,
Thanks for this great post and all research for AMP.
I just can show you our full version with AMP, because we rewrite all code on our website. Actualy we redact all custom php files, and all custom templates in WP.
Our latest post about this – https://serpact.com/the-first-amp-website-in-bulgaria/amp/
amp is utterly pointless in this day and age with extremely fast multicore devices and 4g/lte plus super fast wifi connections. I do NOT want to see a watered down version of a website on my very capable smartphone and tab. I want the full content and all AMP is doing is ruining my web browsing experience.
Make it optional, win win for everyone. Stop shoving it down our throats.
Bing has never felt better to me.
It is so difficult to know what to do but last week I spoke to someone who didn’t like the AMP thing at all, he had been forced to use another search engine so that he could see the ‘normal’ website.
Agree absolutely. AMP is just Google’s way to create platform dependency for web publishers. And the way to serve ads faster. They are going to inevitably prioritize AMP completely in search results. Sad times for open web.
“In other words, instead of serving the content from BBC.co.uk, it is being served from Google.com.
There are a number of issues with that approach…”
Not to mention any user interaction metrics you might want to capture are lost – a huge downside for anyone who cares about analytics.
AMP is just one of my issues with Google Search. I switched to Duck Duck Go, and now have straight-up search results with normal links and very little click bait.
What evidence do you have that AMP helps the growth of fake news? If there is no evidence to prove it doesn’t that make your viewpoint is fake news?
I never said it caused “the growth of fake news”. I said it could give “fake news” a perception of credibility in the eyes of average user, since it’s being served from Google.com.
I hate amp, had to switch my user agent to iPad so they wouldn’t show up on my phone.
Oh gosh! Thanks, I’m not the only one noticing this:
Scrolling sucks
On iPhone, AMP seems to override the default browser scrolling. As a result scrolling of AMP pages feels off.
Seriously, I was kinda shocked when I noticed this strange behavior. It lead to not using Google News anymore, because every f*king article I wanted to read was closed when I scrolled down. This issue is still there and I felt like NO ONE besides me has ever noticed it… Google, you’re always so good at usability – what is going on here?!
Looks like soon all pages will scroll like AMP pages: https://news.ycombinator.com/item?id=14384938
I for one prefer Amp pages. That is mostly because it forces the publisher to scale back on bloat. The pages are typically clean, simple, and have no distractions.
One site I currently work in has so many tracking scripts and third party junk that the load time is noticably slower. Since it is for a corporation, I have no way of pushing back, these are required.
The loop hole is that these things don’t work in AMP. So when our client asked for AMP pages, I was happy to find that the experience is miles better.
I 100% agree that too much bloat is bad, it’s just with AMP I feel like we breaking the web to gain some performance wins. If Google can sell people on the idea of AMP, I am pretty sure they could have forced people to have better performance by strictly penalizing sites for bloat and poor performance.
May be it wouldn’t happen as fast or give Google as much control, but it would have been much better for the open web.
I agree wholeheartedly with you. AMP is Google’s attempt at homogenizing the internet. It affects your branding, navigation and the overall user experience. It’s a way for Google to load their ads without the bloat typically associated with them.
The problem for me is that AMP pages look exactly like all these fake news pages, propaganda pages and pages that link to malware or are trying to sell you something with a site that appears to be informative but is not. It makes it difficult for the average reader to parse what’s real and what has ulterior motives.
Removing AMP entirely, is a whole nother beast. By doing so, you will end up with a plethora of 404 pages starting with /blog that are missing and then have to redirect.
I use a plugin that allows me to disable forcing Google to use my AMP pages, which I am about to do. We’ll see what happens in 24 hours.
Also, I run a podcast and because JavaScript is not allowed, the best I can do is a play icon that takes the user to another page to play or download the episode. Embedded players that use JavaScript are no longer allowed. The HTML5 player option I have is too big for the iframe, which defaults to the standard WordPress player, which happens to be JavaScript. Catch22.
Additionally, the web version of my site was already in the top 10% of sites for speed. Adding AMP did not improve those numbers, except on desktop but not enough to justify its use.
If you haven’t installed it, DON’T. Work on making your site load faster on mobile. If you’re like me and already have…i don’t know what to tell you.
Right now, I’m dealing with a ton of images that have magically disappeared from my site. No doubt related to my recent installation of AMP.
It is good to see honest minimalism and not fake “time to render” speed farces. Thanks for sticking up for the open web and speed disadvantaged users. Developers these days seem to think everyone measures their connection speed in megabits and that is simply not true, nor will it ever be.
Hi – I’m no coding expert, etc., but is there a way to redirect referral traffic by stripping out the amp link via htaccess or php script?
Probably both, I did it with PHP for my site.
But that would only work for a direct link visit, and wouldn’t help with cached content, since it’s being served from a third party server, before local htaccess can do anything about it.
AMP internally (technically) does the right thing, but it’s the business layer that throws people off. If publishers want their sites faster, you do what you mentioned. CNN is a great example. Their website is horrendously slow. A quick look at the network tab shows trackers upon trackers, libraries upon libraries. All of that costs Network, CPU, Memory. Plus seemingly infinite page reflow adding even more to perceived slowness. AMP in its core isn’t revolutionary. It forces img tags to have width and height. It forces little css. It forces little javascript. It uses a global cache (easily achievable with Amazon AWS, if you happen to host your site there). Little things that quickly add up and make the web fast.
Just did the same, as I saw same behavior last weekend with a blog post that did well. Traffic didn’t show up, as it all went to the AMP version. And added a 301 for /amp/ back to its original source.
We have disabled AMP because the cache makes it difficult to put your content behind a paywall. And even more difficult to allow your content to be free for a time and then go behind a paywall. Really, we lost fine control of our content, and that just isn’t in our best interest.
Oh thank goodness. Finally you’ll stop milking this AMP thing on Hacker News.
I am actually really tired of talking about AMP. I fell into watching it sort of by accident, and it kind of took off from there.
I sincerely hope this is going to be my last “AMP sucks” post ever, although I do intend to blog about some technical things like performance and traffic redirecting in the future.