Maak je website geschikt voor mobiel

A presentation at JoomlaDagen 2016 in April 2016 in by Hans Kuijpers

Slide 1

Slide 1

Maak je website geschikt voor mobiel Hans Kuijpers

Slide 2

Slide 2

Verbeter de vindbaarheid

Slide 3

Slide 3

Mobile-Friendly test https://www.google.com/webmasters/tools/mobile-friendly

Slide 4

Slide 4

Mobile-Friendly test Maar dit is hoe Google de site ziet

Slide 5

Slide 5

Robots blokkeren de content Aanwezigheid van verouderde robots.txt User-agent: * Disallow: /administrator/ Disallow: /cache/ Disallow: /cli/ Disallow: /components/ Disallow: /images/ Disallow: /includes/ Disallow: /installation/ Disallow: /language/ Disallow: /libraries/ Disallow: /logs/ Disallow: /media/ Disallow: /modules/ Disallow: /plugins/ Disallow: /templates/

Slide 6

Slide 6

Joomla! 3.5 robots.txt User-agent: * Disallow: /administrator/ Disallow: /bin/ Disallow: /cache/ Disallow: /cli/ Disallow: /components/ Disallow: /includes/ Disallow: /installation/ Disallow: /language/ Disallow: /layouts/ Disallow: /libraries/ Disallow: /logs/ Disallow: /modules/ Disallow: /plugins/ Disallow: /tmp/

Slide 7

Slide 7

Joomladagen.nl responsive

Slide 8

Slide 8

Responsive Web Design Testing Tool http://mattkersley.com/responsive/

Slide 9

Slide 9

W3C mobileOK Checker http://validator.w3.org/mobile/

Slide 10

Slide 10

Werk aan de winkel Volgend jaar een nieuwe site joomladagen.nl mobiel vriendelijk voor zowel W3C mobileOK Checker als voor Google mobile checker suggesties zijn welkom op hans@joomladagen.nl

Slide 11

Slide 11

Maar nu naar je eigen website Stappenplan Hoe ziet de site er uit op mobiel? Hoe zou je willen dat de site er op mobiel uit ziet? apart design responsive Wijzigen maar… klinkt net zo eenvoudig als het tekenen van een paard

Slide 12

Slide 12

Slide 13

Slide 13

Google Resizer http://design.google.com/resizer/

Slide 14

Slide 14

Google Resizer - mobiel

Slide 15

Slide 15

Multi-device layout patterns Luke Wroblewski http://www.lukew.com/ff/entry.asp?1514

Slide 16

Slide 16

Huidige structuur

Slide 17

Slide 17

Gewenste structuur

Slide 18

Slide 18

Flexbox for the win http://caniuse.com/#search=flexbox

Slide 19

Slide 19

Codepen voor de codevoorbeelden http://codepen.io/team/css-tricks/pen/jqzNZq

Slide 20

Slide 20

Huidige structuur <body> <div class=”wrapper”> <div class=”header”> <div class=”header-image”>…</div> <div class=”tools”>…</div> <table width=”100%” border=”0” cellpadding=”0”> <tbody><tr> <td class=”left”>…</td> <td class=”middle”>…</td> <td class=”right”>…</td> </tr></tbody> </table> <div class=”conditions”>…</div> <div class=”footer”>…</div> </div> </div> </body>

Slide 21

Slide 21

Gewenste structuur <body> <div class=”site”> <header class=”site__header”>…</header> <div class=”site__tools”>…</div> <div class=”site__main”>…</div> <aside class=”site__aside site__aside-1”>…</aside> <aside class=”site__aside site__aside-2”>…</aside> <div class=”site__footer”>…</div> </body>

Slide 22

Slide 22

index.php in huidige template Op je testomgeving met de bestaande template index.php kopieren naar index-orig.php nieuw bestand index-new.php nieuw bestand index.php met de volgend info: <?php defined(‘_JEXEC’) or die; include_once(‘index-new.php’); //include_once(‘index-orig.php’);

Slide 23

Slide 23

Viewport toevoegen voorkom dat device gaat herschalen <meta name=”viewport” content=”width=device-width, user-scalable=yes, initial-scale=1”> voorkom dat user gaat pinchen en zoomen <meta name=”viewport” content=”width=device-width, user-scalable=no, initial-scale=1, maximum-scale=1”> advies: kies voor het eerste

Slide 24

Slide 24

Toevoegen kan ook vanuit Joomla

Slide 25

Slide 25

Begin vanuit mobiel .site { display: flex; flex-flow: row wrap; justify-content: center; max-width:1200px; margin:0 auto; padding:5px; } .site__header, .site__tools, .site__main, .site__aside, .site__footer { flex: 1 100%; }

Slide 26

Slide 26

Nu al geweldig op mobiel

Slide 27

Slide 27

Maar minder op desktop

Slide 28

Slide 28

Media-queries bieden de oplossing @media only screen and (min-width: 768px) { .site__main { flex: 1 0px; order: 2; } .site__aside.site__aside-1 { flex: 0 280px; } .site__aside-1 { order: 1; } .site__aside-2 { order: 3; } .site__footer { order: 4; }

Slide 29

Slide 29

Twee kolommen… nog geen drie

Slide 30

Slide 30

Meer media-queries @media only screen and (min-width: 1024px) { .site__aside.site__aside-2 { flex: 0 240px; } }

Slide 31

Slide 31

Eindresultaat

Slide 32

Slide 32

Maar dan… afbeeldingen die te groot zijn tabellen die niet passen iFrame die niet pas The devil is in the details

Slide 33

Slide 33

Responsive images img {max-width: 100%;}

Slide 34

Slide 34

Tables

Slide 35

Slide 35

Bootstrap gebruikers http://codepen.io/SitePoint/full/raXdwZ/

Slide 36

Slide 36

CSS-Tricks Table Roundup https://css-tricks.com/responsive-data-table-roundup/

Slide 37

Slide 37

iFrame

Slide 38

Slide 38

iFrame

Slide 39

Slide 39

HTML en CSS wijziging Verwijder widht en height uit iFrame html tag plus iframe { border:none; width:100%; height:100%; min-height:600px; } @media only screen and (min-width: 1084px) { iframe { width: 768px; } }

Slide 40

Slide 40

iFrame

Slide 41

Slide 41

iFrame

Slide 42

Slide 42

Eind goed al goed Hoe ziet de site er op mobiel uit? Hoe wil je dat de site er uit komt te zien? Keuze voor responsive of separaat template viewport & media-queries & details :-) flexbox is cool!

Slide 43

Slide 43

Bedankt! Hans Kuijpers @hans2103