SlideShare a Scribd company logo
1 of 58
Download to read offline
re al
                                v
SEO For Developers
SELECT	
  *	
  WHERE	
  clue	
  >	
  0;

Date: February 29, 2012
Author: Chris Le (@djchrisle)




                                          1
$	
  whoami
     {	
  name:	
  	
  	
  	
  	
  	
  	
  	
  “Chris	
  Le”,
     	
  	
  twitter:	
  	
  	
  	
  	
  “@DjChrisLe”,

   	
  	
  occupation:	
  [
   	
  	
  	
  	
  “Internal	
  app	
  developer”,
   	
  	
  	
  	
  “Project	
  management”,
   	
  	
  	
  	
  “Technical	
  SEO	
  support”
   	
  	
  ]
   }
If you build it, they will come is a lie   3
re al
                                v
SEO For Developers
How SEO changed the way I develop


Date: February 29, 2012
Author: Chris Le (@djchrisle)




                                        4
5
@djchrisle   6
#	
  header.html.erb
<h1>&nbsp;</h1>
....

#	
  acme.css
h1	
  {	
  
	
  	
  background-­‐image:	
  ‘/img/acme_logo.png’;	
  
	
  	
  background-­‐repeat:	
  no-­‐repeat;
}




                                    @djchrisle             7
#	
  investments.html.erb
<a	
  href=”#watchlist”>
<div	
  id=”container”></div>
<script>
	
  	
  $(“#watchlist”).click	
  (function()	
  {
               //	
  =>	
  sets	
  loadThis	
  to	
  “watchlist”
	
  	
  	
  	
  var	
  loadThis	
  =	
  $.param.fragment($.param.querystring);
	
  	
  	
  	
  $(“#container”).load(“/content?get=”	
  +	
  loadThis);
	
  	
  }
</script>

#	
  content_controller.rb
class	
  ContentController	
  <	
  ActionController::Base
	
  	
  respond_to	
  :html

	
  	
  def	
  index
	
  	
  	
  	
  @content	
  =	
  Content.find_by_name(params[:get]
	
  	
  	
  	
  respond_with(@content)
	
  	
  end
end


                                     @djchrisle                                  8
http://www.acme.com/investments#positions
http://www.acme.com/investments#watchlist
http://www.acme.com/investments#menu1
http://www.acme.com/investments#menu2



                  @djchrisle                9
Best Practices

• Modularize & reuse code
 – DRY principals (Don’t Repeat Yourself)

• Abstract template and view from logic
 – Independently change stuff - no problems

• Use async JS loading to reduce load
 – Lower server costs
 – Fast load time (aka: “site speed”)


                         @djchrisle                     10
http://www.domain.com/about-­‐us/blog/post
http://www.domain.com/blog/post



                 @djchrisle                  11
Q: What is SEO?
 A: Help the RIGHT
customers find YOU.
                      12
About us




           13
@djchrisle   14
@djchrisle   15
@djchrisle   16
require	
  'anemone'

Anemone.crawl("http://www.example.com/")	
  do	
  |anemone|
	
  	
  anemone.on_every_page	
  do	
  |page|
	
  	
  	
  	
  	
  	
  puts	
  page.url
	
  	
  end
end

Bank.account	
  <<	
  Profit!




                                @djchrisle                17
@djchrisle   18
nsfw   19
Title tags


   @djchrisle   20
????




       21
#	
  header.html.erb
<title><%=	
  @company.name	
  %></title>




                               @djchrisle   22
#	
  header.html.erb
<title><%=	
  @company.name	
  %>	
  <%=	
  @page.title_tag	
  %></title>




                                  @djchrisle                                23
#	
  header.html.erb
<title><%=	
  @company.name	
  %>	
  <%=	
  @page.title_tag	
  %></title>

#	
  schema.rb
create_table	
  “Page”
	
  	
  t.string	
  “title_tag”
	
  	
  ...
end

#	
  page.rb
Class	
  Page	
  <	
  ActiveRecord::Base
	
  	
  belongs_to	
  :category
	
  	
  
	
  	
  def	
  title_tag
	
  	
  	
  	
  title_tag.defined?	
  ?	
  super()	
  :	
  self.category.name
	
  	
  end
end



                                       @djchrisle                               24
puts	
  Page.find(1).inspect

{
	
  	
  title_tag:	
  “Experienced	
  Ruby	
  Programmers	
  in	
  Philladelphia”,
	
  	
  content:	
  “...”
}




                                    @djchrisle                                   25
Title matches
                                                 keyword
                                                 + is what user
                                                 is looking for

My Company | Experienced Ruby Programmers in Philadelphia




                                                             26
<h1> tags


   @djchrisle   27
#	
  post/index.html.erb
<h1><%=	
  @post.title	
  %></h1>




              @djchrisle            28
@djchrisle   29
@djchrisle   30
#	
  my_page.html.erb
<h1>&nbsp;</h1>
....

#	
  acme.css
h1	
  {	
  
	
  	
  background-­‐image:	
  ‘/img/acme_logo.png’;	
  
	
  	
  background-­‐repeat:	
  no-­‐repeat;
}




                                    @djchrisle             31
This page is about
                                       “Non-breaking space?”
#	
  my_page.html.erb
<h1>&nbsp;</h1>
....

#	
  acme.css
h1	
  {	
  
	
  	
  background-­‐image:	
  ‘/img/acme_logo.png’;	
  
	
  	
  background-­‐repeat:	
  no-­‐repeat;
}




                                    @djchrisle             32
Better use of H1
#	
  my_page.html.erb
<div	
  class=”logo”></div>
<h1>	
  Sensible	
  Investment	
  Strategies	
  </h1>
....

#	
  acme.css
.logo	
  {	
  
	
  	
  background-­‐image:	
  ‘/img/acme_logo.png’;	
  
	
  	
  background-­‐repeat:	
  no-­‐repeat;
}




                                    @djchrisle                  33
URLs &
Hash fragments

      @djchrisle   34
http://www.acme.com/investments#positions
http://www.acme.com/investments#watchlist
http://www.acme.com/investments#menu1
http://www.acme.com/investments#menu2



                  @djchrisle                35
http://www.acme.com/investments#positions
    http://www.acme.com/investments#watchlist
    http://www.acme.com/investments#menu1
    http://www.acme.com/investments#menu2
                                  4 pages .. 1 listing :(



Acme Inc | Financial Portfolio Managers
www.acme.com/investments




                             @djchrisle                     36
Uncrawlable URL
#	
  investments.html.erb

<a	
  href=”#watchlist”>

<div	
  id=”container”></div>

<script>
	
  	
  $(“#watchlist”).click	
  (function()	
  {
               //	
  =>	
  sets	
  loadThis	
  to	
  “watchlist”
	
  	
  	
  	
  var	
  loadThis	
  =	
  $.param.fragment($.param.querystring);
	
  	
  	
  	
  $(“#container”).load(“/content?get=”	
  +	
  loadThis);
	
  	
  }
</script>




                                                                                 37
Crawlable URL
#	
  investments.html.erb

<a	
  href=”/investments/watchlist”>

<div	
  id=”container”></div>

<script>
	
  	
  $(“#watchlist”).click	
  (function()	
  {
	
  	
  	
  	
  $(“#container”).load($.param.querystring);
	
  	
  }
</script>




                                                             38
#	
  routes.rb
resources	
  :investments
match	
  “content/:section”	
  =>	
  “content#show”

#	
  content_controller.rb
class	
  ContentController	
  <	
  ActionController::Base
	
  	
  respond_to	
  :html

	
  	
  def	
  show
	
  	
  	
  	
  @content	
  =	
  Content.find_by_name(params[:section])
	
  	
  	
  	
  respond_with(@content)
	
  	
  end
end




                                   @djchrisle                             39
http://www.acme.com/investments/positions
    http://www.acme.com/investments/watchlist
    http://www.acme.com/investments/menu1
    http://www.acme.com/investments/menu2
                                  4 pages .. 4 listings :)



Acme Inc | Financial Portfolio Managers
www.acme.com/investments/positions




                             @djchrisle                      40
301 / 302
 redirect

   @djchrisle   41
http://www.domain.com/about-­‐us/blog/post
http://www.domain.com/blog/post



                 @djchrisle                  42
#	
  content_controller.rb
class	
  ContentController	
  <	
  ActionController::Base
	
  	
  respond_to	
  :html

	
  	
  def	
  show
	
  	
  	
  	
  redirect_to	
  :post_path
	
  	
  	
  	
  #	
  @content	
  =	
  Content.find_by_id(params[:id])
	
  	
  	
  	
  #	
  respond_with(@content)
	
  	
  end
end




                                      @djchrisle                        43
Defaults as 302 response

#	
  content_controller.rb
class	
  ContentController	
  <	
  ActionController::Base
	
  	
  respond_to	
  :html

	
  	
  def	
  show
	
  	
  	
  	
  redirect_to	
  :post_path
	
  	
  	
  	
  #	
  @content	
  =	
  Content.find_by_id(params[:id])
	
  	
  	
  	
  #	
  respond_with(@content)
	
  	
  end
end




                                      @djchrisle                        44
301 vs 302 redirect


• RFC 2616, Section 10.3.3
 – 302 Found: The requested resource resides
  temporarily under a different URI


• RFC 2616, Section 10.3.2
 –301 Moved Permanently: The requested resource has
  been assigned a new permanent URI and any future
  references to this resource SHOULD use one of the
  returned URIs


                       @djchrisle                    45
46
302 =
nothing




          47
301 =
change




         48
404 = delist




          49
#	
  content_controller.rb
class	
  ContentController	
  <	
  ActionController::Base
	
  	
  respond_to	
  :html

	
  	
  def	
  show
	
  	
  	
  	
  redirect_to	
  :post_path,	
  :status	
  =>	
  301
	
  	
  	
  	
  #	
  @content	
  =	
  Content.find_by_id(params[:id])
	
  	
  	
  	
  #	
  respond_with(@content)
	
  	
  end
end




                                @djchrisle                              50
#	
  content_controller.rb
class	
  ContentController	
  <	
  ActionController::Base
	
  	
  respond_to	
  :html

	
  	
  def	
  show
	
  	
  	
  	
  redirect_to	
  :post_path,	
  :status	
  =>	
  301
	
  	
  	
  	
  #	
  @content	
  =	
  Content.find_by_id(params[:id])
	
  	
  	
  	
  #	
  respond_with(@content)
	
  	
  end
end




                                @djchrisle                              51
#	
  routes.rb

match	
  “/about-­‐us/blog/:post_title”	
  =>	
  
	
  	
  redirect(“/blog/#{params[:post_title]}”)




                                                    52
If you build it, they will come is a lie   53
Every great idea
   deserves the
chance to be found

       @djchrisle    54
re al
                                v
SEO For Developers
How SEO changed the way I develop


Date: February 29, 2012
Author: Chris Le (@djchrisle)




                                        55
Q&A


@djchrisle   56
2006-2007




            57
58

More Related Content

What's hot

Hardcore URL Routing for WordPress - WordCamp Atlanta 2014
Hardcore URL Routing for WordPress - WordCamp Atlanta 2014Hardcore URL Routing for WordPress - WordCamp Atlanta 2014
Hardcore URL Routing for WordPress - WordCamp Atlanta 2014Mike Schinkel
 
SULTHAN's - PHP MySQL programs
SULTHAN's - PHP MySQL programsSULTHAN's - PHP MySQL programs
SULTHAN's - PHP MySQL programsSULTHAN BASHA
 
Offline strategies for HTML5 web applications - IPC12
Offline strategies for HTML5 web applications - IPC12Offline strategies for HTML5 web applications - IPC12
Offline strategies for HTML5 web applications - IPC12Stephan Hochdörfer
 
PHP security audits
PHP security auditsPHP security audits
PHP security auditsDamien Seguy
 
Web Components and Modular CSS
Web Components and Modular CSSWeb Components and Modular CSS
Web Components and Modular CSSAndrew Rota
 
Leveraging the Power of Graph Databases in PHP
Leveraging the Power of Graph Databases in PHPLeveraging the Power of Graph Databases in PHP
Leveraging the Power of Graph Databases in PHPJeremy Kendall
 
OOP Is More Than Cars and Dogs
OOP Is More Than Cars and DogsOOP Is More Than Cars and Dogs
OOP Is More Than Cars and DogsChris Tankersley
 
WordPress Admin UI - Future Proofing Your Admin Pages
WordPress Admin UI - Future Proofing Your Admin PagesWordPress Admin UI - Future Proofing Your Admin Pages
WordPress Admin UI - Future Proofing Your Admin PagesBrandon Dove
 
Undercover Pods / WP Functions
Undercover Pods / WP FunctionsUndercover Pods / WP Functions
Undercover Pods / WP Functionspodsframework
 
Concern of Web Application Security
Concern of Web Application SecurityConcern of Web Application Security
Concern of Web Application SecurityMahmud Ahsan
 
Leveraging the Power of Graph Databases in PHP
Leveraging the Power of Graph Databases in PHPLeveraging the Power of Graph Databases in PHP
Leveraging the Power of Graph Databases in PHPJeremy Kendall
 
Php 102: Out with the Bad, In with the Good
Php 102: Out with the Bad, In with the GoodPhp 102: Out with the Bad, In with the Good
Php 102: Out with the Bad, In with the GoodJeremy Kendall
 
Exploiting Php With Php
Exploiting Php With PhpExploiting Php With Php
Exploiting Php With PhpJeremy Coates
 
DBIx::Skinnyと仲間たち
DBIx::Skinnyと仲間たちDBIx::Skinnyと仲間たち
DBIx::Skinnyと仲間たちRyo Miyake
 
Opening up the Social Web - Standards that are bridging the Islands
Opening up the Social Web - Standards that are bridging the IslandsOpening up the Social Web - Standards that are bridging the Islands
Opening up the Social Web - Standards that are bridging the IslandsBastian Hofmann
 
Html5 and web technology update
Html5 and web technology updateHtml5 and web technology update
Html5 and web technology updateDoug Domeny
 
2012.sandiego.wordcamp
2012.sandiego.wordcamp2012.sandiego.wordcamp
2012.sandiego.wordcampBrandon Dove
 
http://kariwebsite.com/
http://kariwebsite.com/http://kariwebsite.com/
http://kariwebsite.com/kariwebsite
 
HTML::FormHandler
HTML::FormHandlerHTML::FormHandler
HTML::FormHandlerbbeeley
 
Date difference[1]
Date difference[1]Date difference[1]
Date difference[1]shafiullas
 

What's hot (20)

Hardcore URL Routing for WordPress - WordCamp Atlanta 2014
Hardcore URL Routing for WordPress - WordCamp Atlanta 2014Hardcore URL Routing for WordPress - WordCamp Atlanta 2014
Hardcore URL Routing for WordPress - WordCamp Atlanta 2014
 
SULTHAN's - PHP MySQL programs
SULTHAN's - PHP MySQL programsSULTHAN's - PHP MySQL programs
SULTHAN's - PHP MySQL programs
 
Offline strategies for HTML5 web applications - IPC12
Offline strategies for HTML5 web applications - IPC12Offline strategies for HTML5 web applications - IPC12
Offline strategies for HTML5 web applications - IPC12
 
PHP security audits
PHP security auditsPHP security audits
PHP security audits
 
Web Components and Modular CSS
Web Components and Modular CSSWeb Components and Modular CSS
Web Components and Modular CSS
 
Leveraging the Power of Graph Databases in PHP
Leveraging the Power of Graph Databases in PHPLeveraging the Power of Graph Databases in PHP
Leveraging the Power of Graph Databases in PHP
 
OOP Is More Than Cars and Dogs
OOP Is More Than Cars and DogsOOP Is More Than Cars and Dogs
OOP Is More Than Cars and Dogs
 
WordPress Admin UI - Future Proofing Your Admin Pages
WordPress Admin UI - Future Proofing Your Admin PagesWordPress Admin UI - Future Proofing Your Admin Pages
WordPress Admin UI - Future Proofing Your Admin Pages
 
Undercover Pods / WP Functions
Undercover Pods / WP FunctionsUndercover Pods / WP Functions
Undercover Pods / WP Functions
 
Concern of Web Application Security
Concern of Web Application SecurityConcern of Web Application Security
Concern of Web Application Security
 
Leveraging the Power of Graph Databases in PHP
Leveraging the Power of Graph Databases in PHPLeveraging the Power of Graph Databases in PHP
Leveraging the Power of Graph Databases in PHP
 
Php 102: Out with the Bad, In with the Good
Php 102: Out with the Bad, In with the GoodPhp 102: Out with the Bad, In with the Good
Php 102: Out with the Bad, In with the Good
 
Exploiting Php With Php
Exploiting Php With PhpExploiting Php With Php
Exploiting Php With Php
 
DBIx::Skinnyと仲間たち
DBIx::Skinnyと仲間たちDBIx::Skinnyと仲間たち
DBIx::Skinnyと仲間たち
 
Opening up the Social Web - Standards that are bridging the Islands
Opening up the Social Web - Standards that are bridging the IslandsOpening up the Social Web - Standards that are bridging the Islands
Opening up the Social Web - Standards that are bridging the Islands
 
Html5 and web technology update
Html5 and web technology updateHtml5 and web technology update
Html5 and web technology update
 
2012.sandiego.wordcamp
2012.sandiego.wordcamp2012.sandiego.wordcamp
2012.sandiego.wordcamp
 
http://kariwebsite.com/
http://kariwebsite.com/http://kariwebsite.com/
http://kariwebsite.com/
 
HTML::FormHandler
HTML::FormHandlerHTML::FormHandler
HTML::FormHandler
 
Date difference[1]
Date difference[1]Date difference[1]
Date difference[1]
 

Similar to SEO for Developers

Diazo: Bridging Designers and Programmers
Diazo: Bridging Designers and ProgrammersDiazo: Bridging Designers and Programmers
Diazo: Bridging Designers and ProgrammersTsungWei Hu
 
Migration Best-Practices: Successfully re-launching your website - SMX New Yo...
Migration Best-Practices: Successfully re-launching your website - SMX New Yo...Migration Best-Practices: Successfully re-launching your website - SMX New Yo...
Migration Best-Practices: Successfully re-launching your website - SMX New Yo...Bastian Grimm
 
Jquery tutorial
Jquery tutorialJquery tutorial
Jquery tutorialBui Kiet
 
Advanced CSS Troubleshooting & Efficiency
Advanced CSS Troubleshooting & EfficiencyAdvanced CSS Troubleshooting & Efficiency
Advanced CSS Troubleshooting & EfficiencyDenise Jacobs
 
Introduction Django
Introduction DjangoIntroduction Django
Introduction DjangoWade Austin
 
Oracle Application Express & jQuery Mobile - OGh Apex Dag 2012
Oracle Application Express & jQuery Mobile - OGh Apex Dag 2012Oracle Application Express & jQuery Mobile - OGh Apex Dag 2012
Oracle Application Express & jQuery Mobile - OGh Apex Dag 2012crokitta
 
TurboGears2 Pluggable Applications
TurboGears2 Pluggable ApplicationsTurboGears2 Pluggable Applications
TurboGears2 Pluggable ApplicationsAlessandro Molina
 
Haml. New HTML? (RU)
Haml. New HTML? (RU)Haml. New HTML? (RU)
Haml. New HTML? (RU)Kirill Zonov
 
Theming websites effortlessly with Deliverance (CMSExpo 2010)
Theming websites effortlessly with Deliverance (CMSExpo 2010)Theming websites effortlessly with Deliverance (CMSExpo 2010)
Theming websites effortlessly with Deliverance (CMSExpo 2010)Jazkarta, Inc.
 
Advanced CSS Troubleshooting
Advanced CSS TroubleshootingAdvanced CSS Troubleshooting
Advanced CSS TroubleshootingDenise Jacobs
 
Um roadmap do Framework Ruby on Rails, do Rails 1 ao Rails 4 - DevDay 2013
Um roadmap do Framework Ruby on Rails, do Rails 1 ao Rails 4 - DevDay 2013Um roadmap do Framework Ruby on Rails, do Rails 1 ao Rails 4 - DevDay 2013
Um roadmap do Framework Ruby on Rails, do Rails 1 ao Rails 4 - DevDay 2013Joao Lucas Santana
 
Grok Drupal (7) Theming - 2011 Feb update
Grok Drupal (7) Theming - 2011 Feb updateGrok Drupal (7) Theming - 2011 Feb update
Grok Drupal (7) Theming - 2011 Feb updateLaura Scott
 
Choosing a Javascript Framework
Choosing a Javascript FrameworkChoosing a Javascript Framework
Choosing a Javascript FrameworkAll Things Open
 
Controller in AngularJS
Controller in AngularJSController in AngularJS
Controller in AngularJSBrajesh Yadav
 
Introduction to Django
Introduction to DjangoIntroduction to Django
Introduction to DjangoJoaquim Rocha
 
Scaling Complexity in WordPress Enterprise Apps
Scaling Complexity in WordPress Enterprise AppsScaling Complexity in WordPress Enterprise Apps
Scaling Complexity in WordPress Enterprise AppsMike Schinkel
 
JavaScript front end performance optimizations
JavaScript front end performance optimizationsJavaScript front end performance optimizations
JavaScript front end performance optimizationsChris Love
 
Jquery presentation
Jquery presentationJquery presentation
Jquery presentationguest5d87aa6
 
Presentation html5 css3 by thibaut
Presentation html5 css3 by thibautPresentation html5 css3 by thibaut
Presentation html5 css3 by thibautThibaut Baillet
 
BrightonSEO Structured Data by Alexis Sanders
BrightonSEO Structured Data by Alexis SandersBrightonSEO Structured Data by Alexis Sanders
BrightonSEO Structured Data by Alexis SandersAlexis Sanders
 

Similar to SEO for Developers (20)

Diazo: Bridging Designers and Programmers
Diazo: Bridging Designers and ProgrammersDiazo: Bridging Designers and Programmers
Diazo: Bridging Designers and Programmers
 
Migration Best-Practices: Successfully re-launching your website - SMX New Yo...
Migration Best-Practices: Successfully re-launching your website - SMX New Yo...Migration Best-Practices: Successfully re-launching your website - SMX New Yo...
Migration Best-Practices: Successfully re-launching your website - SMX New Yo...
 
Jquery tutorial
Jquery tutorialJquery tutorial
Jquery tutorial
 
Advanced CSS Troubleshooting & Efficiency
Advanced CSS Troubleshooting & EfficiencyAdvanced CSS Troubleshooting & Efficiency
Advanced CSS Troubleshooting & Efficiency
 
Introduction Django
Introduction DjangoIntroduction Django
Introduction Django
 
Oracle Application Express & jQuery Mobile - OGh Apex Dag 2012
Oracle Application Express & jQuery Mobile - OGh Apex Dag 2012Oracle Application Express & jQuery Mobile - OGh Apex Dag 2012
Oracle Application Express & jQuery Mobile - OGh Apex Dag 2012
 
TurboGears2 Pluggable Applications
TurboGears2 Pluggable ApplicationsTurboGears2 Pluggable Applications
TurboGears2 Pluggable Applications
 
Haml. New HTML? (RU)
Haml. New HTML? (RU)Haml. New HTML? (RU)
Haml. New HTML? (RU)
 
Theming websites effortlessly with Deliverance (CMSExpo 2010)
Theming websites effortlessly with Deliverance (CMSExpo 2010)Theming websites effortlessly with Deliverance (CMSExpo 2010)
Theming websites effortlessly with Deliverance (CMSExpo 2010)
 
Advanced CSS Troubleshooting
Advanced CSS TroubleshootingAdvanced CSS Troubleshooting
Advanced CSS Troubleshooting
 
Um roadmap do Framework Ruby on Rails, do Rails 1 ao Rails 4 - DevDay 2013
Um roadmap do Framework Ruby on Rails, do Rails 1 ao Rails 4 - DevDay 2013Um roadmap do Framework Ruby on Rails, do Rails 1 ao Rails 4 - DevDay 2013
Um roadmap do Framework Ruby on Rails, do Rails 1 ao Rails 4 - DevDay 2013
 
Grok Drupal (7) Theming - 2011 Feb update
Grok Drupal (7) Theming - 2011 Feb updateGrok Drupal (7) Theming - 2011 Feb update
Grok Drupal (7) Theming - 2011 Feb update
 
Choosing a Javascript Framework
Choosing a Javascript FrameworkChoosing a Javascript Framework
Choosing a Javascript Framework
 
Controller in AngularJS
Controller in AngularJSController in AngularJS
Controller in AngularJS
 
Introduction to Django
Introduction to DjangoIntroduction to Django
Introduction to Django
 
Scaling Complexity in WordPress Enterprise Apps
Scaling Complexity in WordPress Enterprise AppsScaling Complexity in WordPress Enterprise Apps
Scaling Complexity in WordPress Enterprise Apps
 
JavaScript front end performance optimizations
JavaScript front end performance optimizationsJavaScript front end performance optimizations
JavaScript front end performance optimizations
 
Jquery presentation
Jquery presentationJquery presentation
Jquery presentation
 
Presentation html5 css3 by thibaut
Presentation html5 css3 by thibautPresentation html5 css3 by thibaut
Presentation html5 css3 by thibaut
 
BrightonSEO Structured Data by Alexis Sanders
BrightonSEO Structured Data by Alexis SandersBrightonSEO Structured Data by Alexis Sanders
BrightonSEO Structured Data by Alexis Sanders
 

Recently uploaded

Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Alan Dix
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxKatpro Technologies
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksSoftradix Technologies
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphNeo4j
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersThousandEyes
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhisoniya singh
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxOnBoard
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 

Recently uploaded (20)

Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping Elbows
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other Frameworks
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptx
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 

SEO for Developers