$30 off During Our Annual Pro Sale. View Details »

How to make your Postgres blog posts reach a ton more people | Claire Giordano | PGConf EU 2022

How to make your Postgres blog posts reach a ton more people | Claire Giordano | PGConf EU 2022

Slides from Claire Giordano’s talk at PGConf EU 2022 in Berlin, where she presented on how to make your Postgres blog posts reach a ton more people. One of the sayings about development in the Postgres world is “it’s not just open source, it’s open engineering.” In the spirit of openness, this talk walks you through a set of things you can do to make your Postgres blog posts reach a lot more people. These best practices begin with empathy for your readers—and cover lots of ground from there, including key things to know about SEO (search engine optimization) as well as tips on how to promote your blog post. This brand new talk isn’t just theory either: real-world examples are included throughout the talk.

Claire Giordano

October 28, 2022
Tweet

More Decks by Claire Giordano

Other Decks in Technology

Transcript

  1. @clairegiordano
    Claire Giordano
    @clairegiordano | @citusdata | @AzureDBPostgres
    HOW TO MAKE YOUR
    POSTGRES BLOG POSTS
    REACH A TON MORE PEOPLE

    View Slide

  2. @clairegiordano
    Engineer
    Dev Manager
    PM
    Marketer
    Writer
    Open-source champion
    Community Lead
    @clairegiordano

    View Slide

  3. @clairegiordano
    Citus = open-source project I spend my days on

    View Slide

  4. @clairegiordano
    It’s not just
    open source, it’s
    open engineering.”

    @clairegiordano

    View Slide

  5. @clairegiordano
    @clairegiordano

    View Slide

  6. @clairegiordano
    Hello to Zucca
    @clairegiordano

    View Slide

  7. @clairegiordano
    This talk has 2 parts...
    What you write
    Where you send it
    1.
    2.
    @clairegiordano

    View Slide

  8. @clairegiordano
    Or as they say in “marketing speak”...
    What you write
    Where you send it
    1.
    2.
    Content
    Distribution
    @clairegiordano

    View Slide

  9. @clairegiordano
    So first, let’s dive into CONTENT!
    1.
    2.
    Content
    Distribution
    @clairegiordano

    View Slide

  10. @clairegiordano
    You & Your
    Frame of Mind
    The Edit
    Cycle
    Explore 2 aspects of CONTENT
    @clairegiordano

    View Slide

  11. @clairegiordano
    #1 – Write with a
    specific reader in
    mind
    Who do you want to read your post?
    Write to that person
    @clairegiordano

    View Slide

  12. @clairegiordano
    #2 - Pick good
    topics!
    Sought after, searched for
    Inspiration is everywhere: Stack Overflow,
    Slack, IRC, Reddit, Twitter, Mailing Lists...
    Incognito browser & Google Trends
    Useful
    “Interestingness factor”
    @clairegiordano

    View Slide

  13. @clairegiordano
    #3 – Have EMPATHY for your readers!
    EMPATHY
    @clairegiordano

    View Slide

  14. @clairegiordano
    Source: www.gapingvoid.com/blog/2016/04/18/i-feel-your-paing/

    View Slide

  15. @clairegiordano
    Empathy should be
    your True North
    § Care about reader more than yourself
    § Recognize they’re busy & in a hurry
    § Remember—they don’t know what you
    know
    @clairegiordano

    View Slide

  16. @clairegiordano
    Empathy #1:
    SCANNABILITY
    Your readers are busy—and in a hurry!
    While the manufacture of rubber goods is in no sense a secret industry, the majority of
    buyers and users of such goods have never stepped inside of a rubber mill, and many
    have very crude ideas as to how the goods are made up. In ordinary garden hose, for
    instance, the process is as follows: The inner tubing is made of a strip of rubber fifty
    feet in length, which is laid on a long zinc-covered table and its edges drawn together
    over a hose pole. The cover, which is of what is called “friction,” that is cloth with
    rubber forced through its meshes, comes to the hose maker in strips, cut on the bias,
    which are wound around the outside of the tube and adhere tightly to it. The hose
    pole is then put in something like a fifty foot lathe, and while the pole revolves slowly,
    it is tightly wrapped with strips of cloth, in order that it may not get out of shape while
    undergoing the process of vulcanizing. When a number of these hose poles have been
    covered in this way they are laid in a pan set on trucks and are then run into a long
    boiler, shut in, and live steam is turned on. When the goods are cured steam is blown
    off, the vulcanizer opened and the cloths are removed. The hose is then slipped off the
    pole by forcing air from a compressor between the rubber and the hose pole. This, of
    course, is what is known as hose that has a seam in it.
    For seamless hose the tube is made in a tubing machine and slipped upon the hose
    pole by reversing the process that is used in removing hose by air compression. In
    other words, a knot is tied in one end of the fifty foot tube and the other end is placed
    against the hose pole and being carefully inflated with air it is slipped on without the
    least trouble. For various kinds of hose the processes vary, and there are machines for
    winding with wire and intricate processes for the heavy grades of suction hose, etc.
    For steam hose, brewers’, and acid hose, special resisting compounds are used, that as
    a rule are the secrets of the various manufacturers. Cotton hose is woven through
    machines expressly designed for that purpose, and afterward has a half-cured rubber
    tube drawn through it. One end is then securely stopped up and the other end forced
    on a cone through which steam is introduced to the inside of the hose, forcing the
    rubber against the cotton cover, finishing the cure and fixing it firmly in its place.
    Source: the Paris Review: How Mechanical Rubber Goods
    Are Made. February 14, 2014
    @clairegiordano

    View Slide

  17. @clairegiordano
    Empathy =
    SCANNABILITY
    Your readers are busy—and in a hurry!
    While the manufacture of rubber goods is in no sense a secret industry, the majority of
    buyers and users of such goods have never stepped inside of a rubber mill, and many
    have very crude ideas as to how the goods are made up. In ordinary garden hose, for
    instance, the process is as follows: The inner tubing is made of a strip of rubber fifty
    feet in length, which is laid on a long zinc-covered table and its edges drawn together
    over a hose pole. The cover, which is of what is called “friction,” that is cloth with
    rubber forced through its meshes, comes to the hose maker in strips, cut on the bias,
    which are wound around the outside of the tube and adhere tightly to it. The hose
    pole is then put in something like a fifty foot lathe, and while the pole revolves slowly,
    it is tightly wrapped with strips of cloth, in order that it may not get out of shape while
    undergoing the process of vulcanizing. When a number of these hose poles have been
    covered in this way they are laid in a pan set on trucks and are then run into a long
    boiler, shut in, and live steam is turned on. When the goods are cured steam is blown
    off, the vulcanizer opened and the cloths are removed. The hose is then slipped off the
    pole by forcing air from a compressor between the rubber and the hose pole. This, of
    course, is what is known as hose that has a seam in it.
    For seamless hose the tube is made in a tubing machine and slipped upon the hose
    pole by reversing the process that is used in removing hose by air compression. In
    other words, a knot is tied in one end of the fifty foot tube and the other end is placed
    against the hose pole and being carefully inflated with air it is slipped on without the
    least trouble. For various kinds of hose the processes vary, and there are machines for
    winding with wire and intricate processes for the heavy grades of suction hose, etc.
    For steam hose, brewers’, and acid hose, special resisting compounds are used, that as
    a rule are the secrets of the various manufacturers. Cotton hose is woven through
    machines expressly designed for that purpose, and afterward has a half-cured rubber
    tube drawn through it. One end is then securely stopped up and the other end forced
    on a cone through which steam is introduced to the inside of the hose, forcing the
    rubber against the cotton cover, finishing the cure and fixing it firmly in its place.
    Source: the Paris Review: How Mechanical Rubber Goods
    Are Made. February 14, 2014
    @clairegiordano
    X

    View Slide

  18. @clairegiordano
    Empathy =
    SCANNABILITY
    Your readers are busy—and in a hurry!
    @clairegiordano
    Section Headlines (not subject
    titles)
    Bullets
    Bold-font prefixes on bullets
    Short sentences
    Short paragraphs
    Whitespace
    Tables

    View Slide

  19. @clairegiordano
    Example
    A real-world example: a multi-tenant TODO application
    Example: Turning H2 Section Headers into
    Newspaper headlines (not subject titles)
    Boring:
    Much Better:
    @clairegiordano

    View Slide

  20. @clairegiordano
    Example
    A real-world example: a multi-tenant TODO application
    PgBouncer
    How to set up PgBouncer (our preferred connection pooler)
    Example: Turning H2 Section Headers into
    Newspaper headlines (not subject titles)
    Boring:
    Much Better:
    Just ok:
    Much Better:
    @clairegiordano

    View Slide

  21. @clairegiordano
    Example
    A real-world example: a multi-tenant TODO application
    PgBouncer
    How to set up PgBouncer (our preferred connection pooler)
    Conclusion
    Cheat sheet for tuning Postgres autovacuum
    Example: Turning H2 Section Headers into
    Newspaper headlines (not subject titles)
    Boring:
    Much Better:
    Just ok:
    Much Better:
    Don’t do this:
    Much Better:
    @clairegiordano

    View Slide

  22. @clairegiordano
    Not everyone is a reader!
    People’s brains process
    information differently
    @clairegiordano

    View Slide

  23. @clairegiordano
    Empathy #2:
    VARIETY OF
    FORMATS
    Don’t just include paragraphs of text!
    To make your story more
    accessible to different types of
    learners, include:
    Diagrams
    Tables
    Screenshots
    Code blocks
    Accessibility:
    alt-text & H2s for screen readers
    @clairegiordano

    View Slide

  24. @clairegiordano
    Imagine David Rowley’s blog
    post about:
    “Speeding up sort
    performance in Postgres 15”
    on Microsoft TechCommunity
    blog, without its charts >>>>
    @clairegiordano

    View Slide

  25. @clairegiordano
    Don’t forget about Accessibility
    (A11y), especially:
    @clairegiordano
    alt-text—for graphics
    H2s help screen readers too

    View Slide

  26. @clairegiordano
    Empathy #3:
    Write in a
    conversational voice
    § Write to 2nd person “you”
    § Write how you speak
    § As if explaining to a BFF over coffee
    @clairegiordano
    “If you’ve been running PostgreSQL
    for a while, you’ve heard about
    autovacuum. Yes, autovacuum, the
    thing which everybody asks you not to
    turn off, which is supposed to keep
    your database clean and reduce bloat
    automatically.
    Source: Debugging Postgres autovacuum problems: 13 tips,
    by Samay Sharma on the Microsoft TechCommunity Blog

    View Slide

  27. @clairegiordano
    Empathy #3:
    READABILITY
    § Write at 3rd or 5th
    grade level
    Source: HemingwayApp.com
    @clairegiordano

    View Slide

  28. @clairegiordano
    EMPATHY
    Checklist for Blogging
    Scannability
    q Section headlines
    (not subject titles)
    q Bullets
    q Bold-font prefix to bullets
    q Short sentences
    q Short paragraphs
    q Whitespace
    q Tables
    Variety of Formats
    q Not just paragraphs
    of text
    q Diagrams
    q Tables
    q Screenshots
    q Code blocks
    q Captions for images
    q Alt-text & H2s for screen
    readers
    Readability
    q Conversational voice
    q Write how you speak
    q 2nd person (“you”)
    q Teaching BFF over coffee
    q Write at 3rd or 5th grade level
    @clairegiordano

    View Slide

  29. @clairegiordano
    You & Your
    Frame of Mind
    The Edit
    Cycle
    @clairegiordano

    View Slide

  30. @clairegiordano
    #1 – Embrace the
    iteration
    Writing = Editing
    Gotta do the work
    Unless you’re famous (and your posts get
    traffic even if crappy)—a good blog post
    will involve editing and rewriting
    @clairegiordano

    View Slide

  31. @clairegiordano
    #2 – It’s OK for your
    first draft to suck
    Dirty little secret: Everybody’s first drafts
    are a mess
    Give yourself permission to write things
    that aren’t perfect!
    “Perfect is the enemy of the good”
    @clairegiordano

    View Slide

  32. @clairegiordano
    #3 – Feedback is a
    gift
    Good reviewers are GOLD: they see things
    you missed, give you actionable feedback
    @clairegiordano

    View Slide

  33. @clairegiordano
    #4 – Pro Tip:
    Focus what you ask
    reviewers to do!
    Make it easy for reviewers to give you
    what you need
    People will not review everything—you
    can pick their focus, or they will
    @clairegiordano

    View Slide

  34. @clairegiordano
    #5 – Get your
    scissors out
    Cut, cut, cut.
    Keep this advice from Stephen King’s book
    “On Writing” in your mind.
    If you can’t bring yourself to “kill” your
    darlings, just push them to the “cutting
    room floor.”
    “Kill your darlings,
    kill your darlings,
    even when it breaks
    your egocentric
    little scribbler’s
    heart,
    kill your darlings.”
    @clairegiordano

    View Slide

  35. @clairegiordano
    #6 – Fork your draft
    into several shorter
    blog posts
    These 3 posts by my teammate
    Andres Freund @ Microsoft were all
    part of the same first draft.
    @clairegiordano

    View Slide

  36. @clairegiordano
    #7 - Keep it simple
    KISS = “Keep It Simple, Stupid”
    Use analogies to help readers put concepts
    into mental model they already know
    Move details into footnotes
    Write at 3rd or 5th grade level
    “IF ONLY IT
    WERE
    SIMPLE TO
    KEEP IT
    SIMPLE”
    @clairegiordano

    View Slide

  37. @clairegiordano
    #8 – Read it out loud
    Your ear can “hear” mistakes that your
    brain will self-correct when reading
    silently
    Reading it out loud is good way to assess
    if it’s in a conversational tone of voice
    @clairegiordano

    View Slide

  38. @clairegiordano
    #9 – Optimize for SEO
    Improving SEO attributes of your post
    increases likelihood it will perform well in
    Google search results (SERP)
    Don’t need to be “SEO expert”, just some
    basic SEO skills
    The goal: “Evergreen content”
    Claire’s Simple SEO Checklist
    @clairegiordano

    View Slide

  39. @clairegiordano
    #9 – Optimize for SEO
    Claire’s Simple SEO Checklist
    @clairegiordano
    q Good content
    is paramount

    View Slide

  40. @clairegiordano
    #9 – Optimize for SEO
    Claire’s Simple SEO Checklist
    q Good content is paramount
    q Title
    discoverability &
    clickability
    @clairegiordano

    View Slide

  41. @clairegiordano
    Scribble lots of bad title ideas, to find a good one
    TITLE OPTIONS, need to frontload key terms since Google often truncates
    title on Search Engine Results Pages (SERP) at 60 chars (chars include spaces)
    1. Citus adds support for PostgreSQL 15, zero downtime distribution
    2. Citus adds support for PostgreSQL 15, zero downtime sharding
    3. Citus 11.1 adds Postgres 15 & zero-downtime table distribution
    4. New 11.1 release of Citus database adds Postgres 15 support
    5. What’s new in Citus 11.1 (including Postgres 15 support)
    6. What’s new in the Citus 11.1 extension to Postgres
    7. Citus 11.1 adds Postgres 15 + create distributed table concurrently
    8. New in Citus 11.1: Postgres 15 & create distributed table CONCURRENTLY
    9. Scale out Postgres without downtime with Citus 11.1
    10. Scale out Postgres without blocking writes: Citus 11.1
    11. Distributing Postgres without blocking writes: Citus 11.1 what’s new
    12. New in Citus 11.1: distributing Postgres without blocking writes
    13. New in Citus 11.1: scale Postgres without blocking writes, plus Postgres 15
    14. Citus 11.1 shards your Postgres tables without interruption
    15. Citus 11.1 distributes your Postgres tables without interruption
    @clairegiordano

    View Slide

  42. @clairegiordano
    Scribble lots of bad title ideas, to find a good one
    TITLE OPTIONS, need to frontload key terms since Google often truncates
    title on Search Engine Results Pages (SERP) at 60 chars (chars include spaces)
    1. Citus adds support for PostgreSQL 15, zero downtime distribution
    2. Citus adds support for PostgreSQL 15, zero downtime sharding
    3. Citus 11.1 adds Postgres 15 & zero-downtime table distribution
    4. New 11.1 release of Citus database adds Postgres 15 support
    5. What’s new in Citus 11.1 (including Postgres 15 support)
    6. What’s new in the Citus 11.1 extension to Postgres
    7. Citus 11.1 adds Postgres 15 + create distributed table concurrently
    8. New in Citus 11.1: Postgres 15 & create distributed table CONCURRENTLY
    9. Scale out Postgres without downtime with Citus 11.1
    10. Scale out Postgres without blocking writes: Citus 11.1
    11. Distributing Postgres without blocking writes: Citus 11.1 what’s new
    12. New in Citus 11.1: distributing Postgres without blocking writes
    13. New in Citus 11.1: scale Postgres without blocking writes, plus Postgres 15
    14. Citus 11.1 shards your Postgres tables without interruption
    15. Citus 11.1 distributes your Postgres tables without interruption
    @clairegiordano
    1. Most important terms
    in first 60 characters?
    2. Incognito searches
    3. Boring vs. interesting

    View Slide

  43. @clairegiordano
    #9 – Optimize
    for SEO
    Don’t need to be “SEO expert”, just
    some basic SEO skills
    Claire’s Simple SEO Checklist
    q Good content is paramount
    q Title discoverability & clickability
    qUse Terms your readers use
    qAvoid general terms (“solution”)
    qAvoid pronouns (“it”, “this”)
    qRelevant keywords in Anchor
    text for hyperlinks
    qRelevant keywords in URL
    @clairegiordano

    View Slide

  44. @clairegiordano
    #9 – Optimize for SEO
    Don’t need to be “SEO expert”, just some
    basic SEO skills
    Claire’s Simple SEO Checklist
    q Alt-text for graphics
    q Author Bio shows
    EAT:
    Expertise,
    Authoritativeness,
    Trustworthiness
    @clairegiordano

    View Slide

  45. @clairegiordano
    Examples of Bio’s
    designed to show
    EAT
    Expertise
    Authoritativeness
    Trustworthiness
    Some debate among experts how much
    EAT affects SEO... do it anyway!
    @clairegiordano

    View Slide

  46. @clairegiordano
    #9 – Optimize for SEO
    Improving SEO attributes of your post
    increases likelihood it will perform well in
    Google search results (SERP)
    Don’t need to be “SEO expert”, just some
    basic SEO skills
    Claire’s Simple SEO Checklist
    q Good content is paramount
    q Title discoverability & clickability
    q Use Terms your readers use
    q Avoid general terms (e.g., “solution”)
    q Avoid pronouns (e.g., “it”, “this”)
    q Relevant keywords in Anchor text for
    hyperlinks
    q Relevant keywords in URL
    q Alt-text for graphics
    q Author Bio shows Expertise,
    Authority, Trustworthy (EAT)
    @clairegiordano

    View Slide

  47. @clairegiordano
    q Embrace the iteration!
    q It’s OK for first drafts to suck!
    q Feedback is a gift
    q Focus your reviewers
    q Get your scissors out & cut!
    q Fork into multiple posts
    q KISS = Keep it simple
    q Read it out loud
    q Optimize for SEO
    Mastering “The Edit Cycle” when Blogging
    q Content is paramount
    q Title discovery & clicks
    q Use readers’ terms
    q Avoid general words
    q Avoid pronouns
    q Keywords in
    Anchor text
    q Keywords in URL
    q Use alt-text
    q Author Bio shows
    EAT
    Simple SEO Tips
    Editing Tips
    @clairegiordano

    View Slide

  48. @clairegiordano
    That’s it for Content. Now onto: DISTRIBUTION
    1.
    2.
    Content
    Distribution
    You & frame of mind
    The Edit Cycle
    @clairegiordano

    View Slide

  49. @clairegiordano
    True or False?
    “We’ll know which blog posts
    are ‘good’ by how much traffic
    they get.”
    True
    False
    @clairegiordano

    View Slide

  50. @clairegiordano
    Distribution
    trumps content.”

    @clairegiordano

    View Slide

  51. @clairegiordano
    2 aspects of DISTRIBUTION,
    let’s focus on Promotion
    Publish Promote
    @clairegiordano

    View Slide

  52. @clairegiordano
    #1 - Pro Tip:
    Before you promote,
    doublecheck “unfurl”
    Twitter caches og:image for over 24 hours,
    so if it’s wrong when your post is first
    tweeted, your post won’t have the correct
    graphic on Twitter for a loooong time!
    • Twitter card validator
    • LinkedIn Post Inspector
    • Slack unfurl
    Screenshot of an unfurl on Slack,
    just drop URL into a slack to yourself
    @clairegiordano

    View Slide

  53. @clairegiordano
    #2 – Syndicate your blog to Planet Postgres
    @clairegiordano

    View Slide

  54. @clairegiordano
    #3 – Go to where your
    readers are
    That means promoting on lots of channels
    “All the socials”
    • Planet Postgres
    • Twitter
    • Slack
    • LinkedIn
    • Reddit
    • Discord
    • Hacker News (YC)
    • Postgres Weekly
    • Citus Newsletter
    • Link in GitHub repo
    @clairegiordano

    View Slide

  55. @clairegiordano
    #4 –
    Rinse Lather Repeat
    Different times of day & time zones
    Multiple days
    Don’t be hesitant to tweet again,
    especially if different time of day
    Only ~1-2% of followers see a tweet
    @clairegiordano

    View Slide

  56. @clairegiordano
    Example of “Rinse
    Lather Repeat
    Same interview tweeted with different
    graphics @ different times of day
    When I interviewed with Scott
    Hanselman, there were ~20 different
    tweets to promote it, that hit every time
    zone over a 5-6 day period
    @clairegiordano

    View Slide

  57. @clairegiordano
    #5 – Keep Twitter momentum by
    recycling tweets
    RT your own tweet after
    ~12 hours
    QT your own tweet after
    ~1-2 days
    QT other people’s tweets
    YMMV
    Example of a “Quote Tweet”
    @clairegiordano

    View Slide

  58. @clairegiordano
    #6 – Be there for the Q&A and the
    conversation
    One-way promotion is
    considered advertising.
    As “OA” (original author),
    embrace the Q&A.
    Especially on Reddit &
    Twitter.
    To stay constructive, wear
    kevlar as needed.
    @clairegiordano

    View Slide

  59. @clairegiordano
    #7 –Karma is a 2-
    way street
    If you shine a light on the
    work of your teammates
    and friends—they’re more
    likely to do the same for
    you!
    @clairegiordano

    View Slide

  60. @clairegiordano
    PROMOTION
    Tips & Checklist for Blogging
    Promotion Tips
    q Doublecheck ”unfurl”
    q Syndicate to Planet Postgres
    q Go to where your readers are
    q Rinse lather repeat
    q Recycle tweets
    q Be there for Q&A
    q Karma is a 2-way street
    q Use “Promotion Checklist”
    Promotion Checklist
    q xxx
    q yyy
    q zzz
    q aaa
    q bbb
    q ccc
    @clairegiordano

    View Slide

  61. @clairegiordano
    Devil is in the details.
    Checklists can help
    @clairegiordano

    View Slide

  62. @clairegiordano
    But if there’s just 1 thing
    you remember from this talk...

    View Slide

  63. @clairegiordano
    EMPATHY
    @clairegiordano

    View Slide

  64. @clairegiordano
    § Asad Khan
    § Ashley McNamara Willis
    § David Perell
    § Hugh McLeod / Gaping Void
    § Isaac Alves
    § Marco Slot
    § My Nguyen
    § Rachel Agyemang
    § Sarah Novotny
    § Stephen O’Grady
    § Sumedh Pathak
    @clairegiordano
    Credits & inspiration go to...

    View Slide

  65. @clairegiordano
    Feedback is a gift!
    PGConfEU team & I would both LOVE your
    feedback on my (and all of the) talks
    https://2022.pgconf.eu/f

    View Slide

  66. @clairegiordano
    Get your socks
    if you asked a
    question!
    @clairegiordano

    View Slide

  67. @clairegiordano
    Thank you
    @citusdata | @AzureDBPostgres
    @clairegiordano
    github.com/citusdata/citus

    View Slide