Press Ctrl / CMD + C to copy this to your clipboard.
This post will be reported to the moderators as potential spam to be looked at
Recently I got a task to make existing blog AMP compatible.
Can somebody recommend the steps? What should I do first?
Thanks, Alex
Hi Alex,
I remember Carole wrote about this at some point. Don’t know how much is still valid but you can take a look:
https://carolelogan.net/blog/amp-implementation-in-umbraco/
/Chriztian
I did it using an alt template and therefore adding /amp/ to the url
Thanks for recommendations! #h5yr!
Here's the template I used, it's a bit hard coded but you might find it a good starting point.
@inherits Umbraco.Web.Mvc.UmbracoTemplatePage @{ Layout = null; string pageTitle = Model.Content.GetPropertyValue<string>("pageTitle"); string imgUrl = ""; if (Model.Content.HasValue("pageBannerImage")) { imgUrl = Umbraco.AssignedContentItem.GetPropertyValue<IPublishedContent>("pageBannerImage").Url; } } <!doctype html> <html amp> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no"> <title>@(Model.Content.HasValue("pageTitle") ? pageTitle : Model.Content.Name)</title> <link rel="canonical" href="@Model.Content.Url"/> <script src="https://cdn.ampproject.org/v0.js" async></script> <style amp-boilerplate>body{-webkit-animation:-amp-start 8s steps(1,end) 0s 1 normal both;-moz-animation:-amp-start 8s steps(1,end) 0s 1 normal both;-ms-animation:-amp-start 8s steps(1,end) 0s 1 normal both;animation:-amp-start 8s steps(1,end) 0s 1 normal both}@@-webkit-keyframes -amp-start{from{visibility:hidden}to{visibility:visible}}@@-moz-keyframes -amp-start{from{visibility:hidden}to{visibility:visible}}@@-ms-keyframes -amp-start{from{visibility:hidden}to{visibility:visible}}@@-o-keyframes -amp-start{from{visibility:hidden}to{visibility:visible}}@@keyframes -amp-start{from{visibility:hidden}to{visibility:visible}}</style><noscript><style amp-boilerplate>body{-webkit-animation:none;-moz-animation:none;-ms-animation:none;animation:none}</style></noscript> <script async custom-element="amp-analytics" src="https://cdn.ampproject.org/v0/amp-analytics-0.1.js"></script> </head> <body> <amp-analytics type="googleanalytics" id="analytics1"> <script type="application/json"> { "vars": { "account": "UA-12345528-1" }, "triggers": { "trackPageview": { "on": "visible", "request": "pageview" } } } </script> </amp-analytics> <nav class="amp-wp-title-bar"> <div> <a href="https://codeshare.co.uk"> codeshare.co.uk </a> </div> </nav> <div class="amp-wp-content"> <h1 class="amp-wp-title">@(Model.Content.HasValue("pageTitle") ? pageTitle : Model.Content.Name)</h1> <ul class="amp-wp-meta"> <li class="amp-wp-byline"> <span class="amp-wp-author">Paul Seal</span> </li> <li class="amp-wp-posted-on"> <time datetime="@(Model.Content.GetPropertyValue<DateTime>("blogPostDate").ToString("yyyy-MM-ddTHH:mm:sszzz", System.Globalization.CultureInfo.InvariantCulture))"> @CodeShare.Library.Utility.Social.General.GetRelativeTime(Model.Content.GetPropertyValue<DateTime>("blogPostDate") ) </time> </li> </ul> <a href="http://www.facebook.com/sharer/[email protected]" rel="nofollow"> <amp-img src="https://codeshare.co.uk/media/1127/fbamp-1.png" alt="FB-Share" width="105" height="39" class="amp-wp-enforced-sizes"></amp-img> </a> <a href="http://twitter.com/intent/tweet?text=@(Model.Content.HasValue("pageTitle") ? pageTitle : Model.Content.Name)&url=@(Model.Content.Url)&via=CodeSharePaul" rel="nofollow"> <amp-img src="https://codeshare.co.uk/media/1128/twamp-1.png" alt="Tw-Share" width="105" height="39" class="amp-wp-enforced-sizes"></amp-img> </a> <div class="media-credit-container alignnone"><amp-img class="size-full wp-image-264208 amp-wp-enforced-sizes" src="@imgUrl" alt="@Model.Content.Name" width="1200" srcset="@(imgUrl)?width=1200&mode=crop&anchor=center 1200w, @(imgUrl)?width=622&height=350&mode=crop&anchor=center 622w" sizes="(min-width: 800px) 800px, 100vw" height="675"></amp-img></div> @Html.GetGridHtml(Model.Content, "contentGrid", "Amp") </div> </body> </html>
And in my master template I have this for rendering the amp url in the head
@if (Model.Content.HasValue("enableAmp") && (bool)Model.Content.GetPropertyValue<bool>("enableAmp")) { <link rel="amphtml" href="@(Model.Content.Url)amp/" /> }
I hope that helps
Paul
Finished editing it now 😀
@Paul,
When you did the amp template. How is the alt template URL /amp/ ? How does that work. We are using Umbraco 7.12 still is it different in Umbraco 8? We get a 404 with the "/amp/" at the end of the URL.
is working on a reply...
Write your reply to:
Upload image
Image will be uploaded when post is submitted
AMP in existing project
Recently I got a task to make existing blog AMP compatible.
Can somebody recommend the steps? What should I do first?
Thanks, Alex
Hi Alex,
I remember Carole wrote about this at some point. Don’t know how much is still valid but you can take a look:
https://carolelogan.net/blog/amp-implementation-in-umbraco/
/Chriztian
I did it using an alt template and therefore adding /amp/ to the url
Thanks for recommendations! #h5yr!
Here's the template I used, it's a bit hard coded but you might find it a good starting point.
And in my master template I have this for rendering the amp url in the head
I hope that helps
Paul
Finished editing it now 😀
@Paul,
When you did the amp template. How is the alt template URL /amp/ ? How does that work. We are using Umbraco 7.12 still is it different in Umbraco 8? We get a 404 with the "/amp/" at the end of the URL.
is working on a reply...