Hacker News new | past | comments | ask | show | jobs | submit login

AMP is of course mostly meant for articles - but we wanted to see how it did for complex(er) layouts. Had a weekend hackathon to recode our main one-pager for performance and SEO recently + we also did an AMP version of the page at http://pag.es

The AMP version of the site is (as expected) not as performant as our custom optimised one. AMP version will load 1.2MB+ of data with 28+ requests, while ours makes due with half of that and 0.6MB with 17 requests. Some of that is due to AMP components that could be a bit more optimised (like we have a hidden youtube video that launches on click - and the youtube AMP component will load all of it dependencies on first start which is not ideal - our custom version does this when the user clicks/launches the video).

However - the new site release did wonders for SEO. Its probably not all due to just having an AMP version, but also just having a good mobile/optimised site - we still landed on 1./2./3. google search page results for some fairly generic terms. Really surprised us - kind of shocking actually, especially since we did little with the page before and didn't have that many inbound links, etc...




Comparing cold loading doesn't seem appropriate - one of the points of AMP is requiring you to hotlink to their specific resources, so as to benefit fully from cache, as more website get AMP'ed.


Sure it does - even if you totally ignore the fact that the same AMP page is loading quite a bit of JS, that its almost double the size and double the number of requests - you're assuming that all requests are cached and thats not correct.

For the Youtube AMP component alone some of those requests are "no-cache" cookie/ads/other types + if nothing else, its also loading the video cover image i.e. effectively starting the video iframe in the background.

Which is as mentioned not ideal since the video is in a hidden inline popup thats used only by 40% of the visitors. Our main page loads and executes all of this on click/user-interaction first so ideally I'd like to be able to set how this behaves in an AMP component too. If that loads from cache afterwards - even better. But it shouldn't upfront and I can't influence it easily.

BTW fun fact - all popups/galleries/sliders/menus/animations on the page are done without JavaScript - none whatsoever (excluding pre-loading large images). They use clever new CSS techniques instead. Just for fun - we tried to go completely JS-free, but Youtube/iframe was the only problem because it was preloading everything on start (and we tried various hacks from various nested display:none; stuff to switching iframes for objects, etc.). Plus/minus Google Analytics of course.

So its quite a contrast - on one hand going JS-free, but then on another loading an insane amount of JS for the AMPed version :)




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: