I know exactly what you're looking for. While a debate about proper link
tag usage and CSS storage folders is always a fun topic, realize none of that is your issue here.
There are two components that allows you to add <link>
tags to Page Layouts.
First, you need to find the following lines of code in the head of the Page Layout's HTML page:
<!--MS:<asp:ContentPlaceHolder id="PlaceHolderAdditionalPageHead" runat="server">-->
<!--SPM:<%@Register Tagprefix="SharePoint" Namespace="Microsoft.SharePoint.WebControls" Assembly="Microsoft.SharePoint, Version=15.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c"%>-->
<!--SPM:<%@Register Tagprefix="Publishing" Namespace="Microsoft.SharePoint.Publishing.WebControls" Assembly="Microsoft.SharePoint.Publishing, Version=15.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c"%>-->
After those three lines you are free to add <link>
tags, with the following caveat: use the ms-design-css-conversion="no"
attribute within the <link>
tag to "exclude the style sheet from theming". Sounds counter-intuitive, but those are Microsoft's words, not mine.
In the end, you should have a <link>
tag that looks as follows:
<link href="MyPageLayout.css" rel="stylesheet" type="text/css" ms-design-css-conversion="no" />
More Information